中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

Windows 運(yùn)行時(shí)(WinRT)的設(shè)計(jì)細(xì)節(jié)

  創(chuàng)建Windows運(yùn)行時(shí)(WinRT)是為了在Windows上給用戶提供一種流暢且安全的應(yīng)用體驗(yàn)。WinRT會受到.NET、C++、以及JavaScript三者的影響。WinRT不會取代CLR或Win32,而是為那些使用不同語言編寫的應(yīng)用程序提供統(tǒng)一支持,以便它們可使用新的Metro風(fēng)格用戶界面運(yùn)行于Windows之上。

  兩年前,微軟從一個(gè)愿望開始了Windows運(yùn)行時(shí)(WinRT)的研發(fā)工作,此愿望是,建立一個(gè)更好的開發(fā)平臺,讓開發(fā)者在此平臺上使用具有豐富智能感知功能和優(yōu)秀調(diào)試功能的工具來創(chuàng)造快速、流暢、可靠的應(yīng)用程序,而且開發(fā)者可自由選擇所使用的語言和庫。最終結(jié)果是產(chǎn)生了一種架構(gòu)以及一組可以從.NET語言(C#、VB.NET、F#)、C++、以及HTML/JavaScript調(diào)用的API。所有這些語言都會對WinRT的設(shè)計(jì)產(chǎn)生影響。

  WinRT不是為了取代.NET或Win32提供的所有功能,但是它是一個(gè)公共平臺,以便那些使用不同語言編寫的應(yīng)用程序可使用新的Metro風(fēng)格界面來運(yùn)行。當(dāng)混合C#應(yīng)用程序基于WinRT創(chuàng)建Metro風(fēng)格用戶界面時(shí),程序中將仍能執(zhí)行LINQ查詢,對于存儲網(wǎng)絡(luò)、新式應(yīng)用程序的安全性等方面同樣能執(zhí)行LINQ查詢。完整的運(yùn)行時(shí)架構(gòu)如下圖所示: 

  語言投射(Language Projection)表示對于每種已支持語言的WinRT API視圖。通過Visual Studio 11的智能感知,在“Windows”命名空間下可找到那些推薦的用于創(chuàng)建Metro風(fēng)格應(yīng)用程序的API。

  在BUILD開發(fā)者大會上,Windows運(yùn)行時(shí)開發(fā)經(jīng)理Martyn Lovell通過題為 “包圍Windows運(yùn)行時(shí)”的演講介紹了WinRT背后的設(shè)計(jì)原則:

  • 任何耗時(shí)超過50毫秒的事情都應(yīng)該通過使用了Async關(guān)鍵字的異步調(diào)用來完成,以確保流暢、快速的應(yīng)用體驗(yàn)。由于即便當(dāng)異步調(diào)用的情況存在時(shí),許多開發(fā)者仍傾向于使用同步API調(diào)用,因此在WinRT深處建立了使用Async關(guān)鍵字的異步方法從而迫使開發(fā)者進(jìn)行異步調(diào)用。
  • 應(yīng)用程序彼此之間被更好地隔離開,從而使得一個(gè)應(yīng)用程序的性能不會影響到另一應(yīng)用程序,同時(shí)也是為了獲得更好的安全性。隸屬于某個(gè)應(yīng)用程序的運(yùn)行時(shí)對象不能被暴露給另一應(yīng)用程序,除非通過借助標(biāo)準(zhǔn)的操作系統(tǒng)級的通訊信道Windows契約(Windows Contracts)來完成。
  • 基于平臺的版本控制(Platform-based versioning)確保應(yīng)用程序在不同版本的Windows上運(yùn)行良好。版本控制信息包含在WinRT元數(shù)據(jù)中,而且智能感知會根據(jù)應(yīng)用程序的目標(biāo)版本來公開功能,因此開發(fā)者無需查閱其他文檔就能知道,對于某個(gè)特定版本的Windows而言,到底有哪些類和方法是可用的。

  關(guān)于類型,WinRT必須提供語言無關(guān)的類型——integer(整數(shù))、enumerations(枚舉)、structures(結(jié)構(gòu))、arrays(數(shù)組)、interfaces(接口)、generic interfaces(泛型接口)、以及runtime classes(運(yùn)行時(shí)類)。引入了被稱之為HSTRING的新字符串類型,該類型允許在不進(jìn)行任何數(shù)據(jù)復(fù)制的情況下,在應(yīng)用程序與運(yùn)行時(shí)環(huán)境之間傳輸字符串。

  每個(gè)WinRT對象都會對應(yīng)一些接口,其中有兩個(gè)接口屬于每個(gè)對象:IUnknown接口,熟悉的COM接口;以及IInspectable接口,用于根據(jù)對象所包含的元數(shù)據(jù)來發(fā)現(xiàn)有關(guān)該對象的信息。一個(gè)對象可能通過接口提供其他功能,然而運(yùn)行時(shí)類會把這些接口集中公開出來。例如,一個(gè)FileInformation對象擁有由FileInformation類公開的IStorageItemInformation、IStorageItem、IStorageFile三個(gè)接口。

  WinRT對象在編譯時(shí)被公開給C++應(yīng)用程序,而對于C#或VB.NET應(yīng)用程序而言,對WinRT對象的綁定一部分是在編譯時(shí)完成的,另一部分則是在運(yùn)行時(shí)完成的。HTML或JavaScript應(yīng)用程序只有在運(yùn)行時(shí)可以看到WinRT對象,而且元數(shù)據(jù)是動態(tài)生成的。

  Metro界面運(yùn)行在一個(gè)不可重入的單線程之上,然而應(yīng)用程序的其余部分可以從線程池中使用由運(yùn)行時(shí)環(huán)境所自動提供的多線程。

  Windows運(yùn)行時(shí)體驗(yàn)團(tuán)隊(duì)的Harry Pierson和公共語言運(yùn)行時(shí)團(tuán)隊(duì)的Jesse Kaplan在BUILD開發(fā)者大會的另一題為“在C#和Visual Basic中使用Windows運(yùn)行時(shí)”的演講中,介紹了一些使用.NET語言對WinRT進(jìn)行編程的細(xì)節(jié)。

  據(jù)Pierson透露,.NET對于WinRT的重大影響在于,許多設(shè)計(jì)準(zhǔn)則被從.NET中借用過來。例如,通過使用基于.NET元數(shù)據(jù)格式更新版本的元數(shù)據(jù)增強(qiáng)了WinRT庫。就像Silverlight一樣,為了創(chuàng)建Metro風(fēng)格應(yīng)用程序,WinRT會使用XAML框架。由于在運(yùn)行時(shí)與.NET之間存在直接映射:基本類型(primitives)、類(classes)、接口(interfaces)、屬性(properties)、方法(methods)等等,并且開發(fā)者無法看到那些存在的差異,因此使用WinRT的.NET應(yīng)用程序?qū)匈e至如歸的感覺。

  Pierson還表示,開發(fā)者可以用C#語言創(chuàng)建可供C++或JavaScript的WinRT應(yīng)用程序使用的Windows運(yùn)行時(shí)組件,然而須要遵守一系列規(guī)則:“結(jié)構(gòu)體只能擁有公共數(shù)據(jù)字段;只允許對XAML控件使用繼承,其它類型都必須使用sealed關(guān)鍵字;只支持系統(tǒng)提供的泛型。”

  在Windows 8、或是后續(xù)版本的Windows中將提供一種經(jīng)典應(yīng)用程序與新的觸摸友好的Metro風(fēng)格應(yīng)用程序共存的混合環(huán)境。基于Metro風(fēng)格的未來的Windows應(yīng)用程序?qū)⑹芤嬗赪indows運(yùn)行時(shí)所提供的公共基礎(chǔ)設(shè)施,開發(fā)者必須針對一套唯一的API進(jìn)行編程,而對于不同語言會略有差異。在與過去保持兼容性的同時(shí),又為未來提供新功能方面,這是微軟所做的最好嘗試。

  查看英文原文:Design Details of the Windows Runtime

NET技術(shù)Windows 運(yùn)行時(shí)(WinRT)的設(shè)計(jì)細(xì)節(jié),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 日韩图区 | 国产ts人妖另类 | 一级高清视频 | 视频一区在线观看 | 欧美日韩中文字幕在线 | 欧美精品一区二区三区四区 | 免费特级黄毛片 | 国产精品99久久久久久久久久久久 | 亚洲黄色一级毛片 | 日韩在线不卡 | 男女激情网站免费 | av天空| 日韩在线免费 | 风间由美一区二区三区在线观看 | 中文字幕第九页 | 在线三级电影 | 免费一级网站 | www.久久99 | 国产成人精品午夜 | 亚洲一区二区三区四区在线观看 | 99久久久久久久久 | 播放一级毛片 | 成人在线播放网站 | 久久在线免费 | 在线黄色网 | av一区在线观看 | 成人水多啪啪片 | 一区二区三区在线免费观看 | 97精品超碰一区二区三区 | 伊人精品在线视频 | 欧美黄色片 | 一区二区日韩 | 999久久久免费精品国产 | 日韩成人在线观看 | 91av在线免费看 | 第一区在线观看免费国语入口 | 久久日本| 91视频大全 | 欧美国产日韩在线观看 | 韩日在线视频 | 中文字幕国产 |