青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++ Coder

HCP高性能計算架構,實現,編譯器指令優化,算法優化, LLVM CLANG OpenCL CUDA OpenACC C++AMP OpenMP MPI

C++博客 首頁 新隨筆 聯系 聚合 管理
  98 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

    看了個BUILD的PPT,Windows Runtime (RT)并不是一些新聞網站說的那樣微軟自廢.NET武功,而是恰恰相反,WinRT是Win32API的現代版,其中有很深的.NET的基因,是Metro UI的.NET基礎,如果考察Metadata的變化,WinRT的API定義的元數據是基于標準ECMA 335,也就是.NET的標準 ,WinRT也是一個沙箱的環境,針對AppStore環境設計的。

基礎知識

微軟以推出Windows 8為契機,以解決Windows長期存在的問題,并帶來了新的用戶界面,使得Windows更加安全和AppStore的商業模式。微軟在Windows 8 里打造了第三個 XAML-based UI 系統, WPF只是一個供 .NET 這個圈子使用的XAML UI系統 Silverlight只是給瀏覽器使用的XAML UI系統,Windows Phone7將Silverlight到了手機,現在將XAML帶到了涵蓋PC、Pad、Phone的所有系統(雖然微軟認為平板也是PC,我還是想叫他Pad,用過iPad的都知道蘋果所定義的Pad和PC有很大區別)。

.NET開發人員都對.NET 的P / Invoke和COM Interop 很熟悉了,這兩種技術使得.NET人員可以使用Win32 API和COM組件,Mono也是使用P/Invoke技術創建原生的庫,例如Gtk# 綁定到 Gtk+ API, MonoMac 綁定到Cocoa API, Qyoto 綁定到Qt API,Mono出現了MonoTouch,MonoDroid和MonoMac等等很有創新性的產品。 COM Interop 還可以使得C/C++ 從 C#導入Com類型庫。

創建原生庫的方法很多,但是這些工作都得是手工去做,很乏味而且容易出錯,從這點來說WinRT也是一個很有創新的,可以讓所有的開發者用同一個模型創建Metro UI的應用。

WinRT

WinRT是一個新的API 集合,具有以下特性:

  • 它實現了Metro UI規范的UI庫
  • 為Windows開發人員提供一個簡單的UI編程模型,你不需要學習Win32API的那些復雜的API了
  • 它使用XAML-base的UI系統
  • API都設計成了異步的
  • 它和.NET一樣是個沙箱的API,自成體系,用于創建AppStore上的應用程序。
  • API的元數據格式是ECMA335,和.NET一樣的標準。這是不是意味著以后Mono也可以在xUnit上去實現這樣的API呢?

WinRT包裝的新的用戶界面系統,和Win32API一樣是Com的上層。

WinRT Projections

我們所說的“Binding”,微軟現在叫做“Projections”,又是一個新名詞。Projections就是向三個環境 Native (C and C++), HTML/Javascript 和.NET 暴露接口的過程。所以在Win8上各類開發者依然可以用著不同的工具,但是卻是使用著統一的模型。

如果開發者使用.NET或者C++ 寫的組件,它的API被存儲在一個WinMD文件里,你可以在三種環境(原生、javascript和.NET)。即使你的組件是用C++ 寫的,也不需要通過COM向外暴露,使用起來更像是一個面向對象的C++ API。

WinRT的底層定義了一套基本的類型和各種環境的映射,這是不是很像.NET環境里面對不同語言的支持哈。

異步API

微軟認為,當給開發者一個使用同步和異步的API的選擇的時候,開發者會選擇簡單的同步API,這在我們的.NET 編程實踐中得到證明,.NET有很成熟的異步編程模型,還有特意為并行和異步處理而設計的F#,結果是什么呢,各位同學心里有數。

在WinRT中,微軟一直遵循一個簡單的規則:如果一個API預計耗時超過50毫秒,那么API就是異步的,也就是說API是異步的哦,這樣就能確保Metro UI上的操作體驗是最好的。

異步編程歷來是一個繁瑣的過程,回調和狀態,還有異常處理等。為了簡化這個過程,C#和VB也擴展了支持 F#-inspired await/async 模型,異步編程變成了歡樂之旅。

.NET的首要地位不見了嗎?

之前的新聞中一直在質疑.NET 被微軟拋棄了,當然不是了。也不是所有的.NET API 都集成到了WinRT中,只是一個子集。

當你使用C#和VB,你使用的是完整的.NET框架。但是他們只暴露了一個較小的子集API給Windows 8的開發者。你可能會想,我可以通過一些技巧使用到整個.NET,如果你的程序不需要提交AppStore上接受微軟的審核,這是可以的。這種策略明顯是跟蘋果學的。

借此機會.NET團隊也對.NET做了一次清理,mscorlib.dll和System.dll中已被分割在不同的庫里頭了,隨著Win8發布的.NET版本是4.5了,也就是說.NET 4.5不是.NET 4的簡單補丁包,里頭加了不少東西,ASP.NET的版本號也是4.5,不像.NET 2.0 ~3.5 SP1,ASP.net的版本還是2。0。為了在Win8里開發,開始學習.NET 4.5又是必須的了,這里關注的集中在客戶端開發,同樣的在服務器端開發方面.NET 4.5也加入大量的干貨。

創建WinRT 組件

雖然WinRT支持很多的語言,但是微軟只是用C++和.NET演示了如何開發一個WinRT組件,使用.NET來開發WinRT組件會比C++簡單得多。也不是所有的.NET特性都能用上哦,比如組件類就不能使用private 字段,在異步的API里不能使用Task<T> ,要用IAsyncOperation 代替。

public sealed class AddTwo
{
public int Add (int a, int b)
{
return a + b;
}

public async IAsyncOperation SubAsync (int a, int b)
{
return a - await (CountEveryBitByHand (b));
}
}

你會發現上述代碼沒有任何形式的COM聲明,唯一限制的是,類必須是個密封的(除非你是在創建一個XAML UI組件,這種情形下這種限制是接觸的)

UI編程

當涉及到用戶界面的開發的時候,你你可以使用HTML與CSS樣式或使用XAML的你的應用程序的用戶界面。當你回到界面層,就可以用HTML & CSS或者是XAML UI,用HTML& Css做出來的界面就是Web了,而是一個Windows應用,早在Vista開始就有了類似的應用,Windows7上做了改進,叫做Gadgets ,Windows 8就進化到了Metero UI,和C++、.NET并駕齊驅了。

Windows8的開發框架并沒有基于HTML5和JavaScript,開發者完全可以用原生C++、C#和Silverlight去開發對平板和觸控友好的應用,HTML5和JavaScript只是提供了一種選擇。

作者: 自由、創新、研究、探索……
出處:http://shanyou.cnblogs.com/
版權:本文版權歸作者和博客園共有
轉載:歡迎轉載,為了保存作者的創作熱情,請按要求【轉載】,謝謝
要求:未經作者同意,必須保留此段聲明;必須在文章中給出原文連接;否則必究法律責任
posted on 2012-10-29 21:30 jackdong 閱讀(554) 評論(0)  編輯 收藏 引用 所屬分類: Windows RT
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲夜晚福利在线观看| 亚洲国产精品美女| 亚洲欧洲精品一区二区三区 | 亚洲国产精品一区制服丝袜| 久久久国产精彩视频美女艺术照福利| 国产精品天天看| 久久精品国产99精品国产亚洲性色| 性高湖久久久久久久久| 在线看视频不卡| 夜夜嗨av一区二区三区网站四季av | 91久久在线播放| 日韩小视频在线观看专区| 国产精品综合视频| 欧美成人免费全部观看天天性色| 欧美成人精品不卡视频在线观看| 亚洲一线二线三线久久久| 欧美影院在线| 亚洲伊人一本大道中文字幕| 久久久999精品视频| 欧美一区二区高清| 欧美日本高清| 欧美搞黄网站| 一区二区三区在线视频免费观看| 一区二区三区国产在线| 亚洲精品自在在线观看| 久久久久综合一区二区三区| 亚洲综合不卡| 欧美午夜理伦三级在线观看| 亚洲欧洲精品一区二区三区波多野1战4| 国产精品丝袜久久久久久app| 亚洲另类一区二区| 亚洲天堂av在线免费| 欧美激情aⅴ一区二区三区| 美女视频黄免费的久久| 亚洲第一页自拍| 久久尤物视频| 91久久精品一区二区三区| 亚洲国产精品尤物yw在线观看| 性色av一区二区三区| 亚洲欧美日韩系列| 国产精品婷婷午夜在线观看| 亚洲欧美在线网| 久久久久国产精品午夜一区| 国产一区二区高清不卡| 久久人体大胆视频| 亚洲精品韩国| 在线不卡中文字幕| 欧美激情精品久久久久久变态| 久久精品夜色噜噜亚洲a∨| 国内精品久久久久伊人av| 欧美不卡视频一区发布| 亚洲视频999| 麻豆精品视频| 亚洲午夜精品一区二区| 国产精品一区毛片| 欧美国产在线观看| 久久精品一二三区| 亚洲尤物影院| 91久久久久久| 欧美成人一二三| 亚洲免费在线视频一区 二区| 激情91久久| 国产三级精品在线不卡| 欧美日韩1080p| 麻豆成人av| 久久深夜福利| 久久久久国产免费免费| 午夜精品久久久久久久蜜桃app| 亚洲精品乱码久久久久久蜜桃91| 久久影院亚洲| 久久国产手机看片| 欧美一区二区三区免费看| 亚洲永久精品国产| 新狼窝色av性久久久久久| 亚洲视频一区二区在线观看| 亚洲区在线播放| 99精品热6080yy久久| 亚洲精品无人区| 日韩午夜三级在线| 一本色道久久综合| 亚洲午夜在线| 午夜电影亚洲| 葵司免费一区二区三区四区五区| 亚洲专区一区| 午夜精品久久久久久久久久久| 亚洲视频中文| 欧美一级理论片| 国产一区再线| 亚洲韩国日本中文字幕| 一区在线播放视频| 一区二区三区久久久| 新67194成人永久网站| 另类春色校园亚洲| 亚洲国产精品综合| 亚洲欧美成aⅴ人在线观看| 久久精品网址| 欧美日韩色一区| 亚洲激情偷拍| 久久精品国产一区二区电影| 亚洲国产精品成人| 欧美一区二区三区精品电影| 欧美xx69| 亚洲大胆视频| 久久激情综合| 亚洲欧美日韩系列| 欧美日韩午夜在线| 亚洲国产精品成人| 久久免费国产精品| 午夜日韩在线| 国产精品久久久久久久久久久久久| 狠狠色狠狠色综合| 久久人人爽人人爽爽久久| 亚洲一区二区毛片| 国产精品国产三级国产普通话蜜臀 | 久久日韩精品| 国产亚洲欧美日韩精品| 亚洲综合清纯丝袜自拍| 日韩午夜在线观看视频| 欧美日本精品| 亚洲午夜在线观看| 亚洲一品av免费观看| 国产手机视频一区二区| 久久嫩草精品久久久精品| 久久―日本道色综合久久| 亚洲成人在线观看视频| 欧美黑人在线观看| 亚洲电影免费| 久久久亚洲一区| 亚洲乱码国产乱码精品精可以看| 欧美激情精品久久久久久免费印度| 麻豆国产精品一区二区三区| 99国产精品久久久久久久久久 | 亚洲精品一区二区三| 欧美三区在线观看| 久久精品三级| 欧美超级免费视 在线| 9i看片成人免费高清| 亚洲欧美日韩天堂一区二区| 亚洲二区视频在线| 亚洲一区二区在线免费观看| 一区在线电影| 欧美一区二区三区成人| 日韩亚洲一区在线播放| 香蕉成人久久| 亚洲欧美日韩国产另类专区| 久久久久久久尹人综合网亚洲| 夜夜爽av福利精品导航| 久久免费少妇高潮久久精品99| 亚洲一区二区三区免费视频| 久久亚洲国产精品日日av夜夜| 亚洲欧美日韩区| 欧美日韩在线视频观看| 免费欧美电影| 亚洲电影免费观看高清完整版| 亚洲欧美一区二区三区久久| 亚洲天堂av图片| 欧美日韩综合在线| 亚洲免费观看| 亚洲午夜一区二区三区| 欧美日韩一区二区在线观看| 亚洲欧洲精品一区二区三区不卡| 在线欧美日韩| 免费在线视频一区| 亚洲精品久久久久久久久久久久久| 亚洲国产女人aaa毛片在线| 久久综合中文| 亚洲人成欧美中文字幕| 99精品国产高清一区二区| 欧美日韩视频在线第一区| 亚洲视频观看| 免费亚洲网站| 亚洲视频一区在线观看| 国产亚洲激情视频在线| 久久综合色影院| 中日韩高清电影网| 国产日产亚洲精品| 美女免费视频一区| 亚洲特级毛片| 亚洲电影免费观看高清| 欧美一区成人| 亚洲最新合集| 激情久久综艺| 国产一区二区三区在线观看网站| 欧美阿v一级看视频| 欧美一区二区视频在线观看2020| 免费看成人av| 久久蜜桃香蕉精品一区二区三区| 日韩午夜在线播放| 在线欧美日韩国产| 黄色av日韩| 国产亚洲欧美一级| 国产精品永久免费观看| 欧美三级在线播放| 欧美韩日一区二区三区| 久久精品一区二区三区不卡牛牛| 中文在线一区| 亚洲在线视频一区| 欧美一区二区精美| 欧美一区2区三区4区公司二百| 亚洲免费视频一区二区|