天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Windows 運行時(WinRT)的設(shè)計細(xì)節(jié)

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

  兩年前,微軟從一個愿望開始了Windows運行時(WinRT)的研發(fā)工作,此愿望是,建立一個更好的開發(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è)計產(chǎn)生影響。

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

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

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

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

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

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

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

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

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

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

  Pierson還表示,開發(fā)者可以用C#語言創(chuàng)建可供C++或JavaScript的WinRT應(yīng)用程序使用的Windows運行時組件,然而須要遵守一系列規(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運行時所提供的公共基礎(chǔ)設(shè)施,開發(fā)者必須針對一套唯一的API進(jìn)行編程,而對于不同語言會略有差異。在與過去保持兼容性的同時,又為未來提供新功能方面,這是微軟所做的最好嘗試。

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

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

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

主站蜘蛛池模板: 国内精品自产拍在线少密芽 | av先锋影音资源男人站 | 黑人巨摘花破女处 | 女子扒开腿让男生桶爽 | 4399亚洲AV无码V无码网站 | 亚洲无线观看国产 | 国内自拍 在线 亚洲 欧美 | 高hbl双性浪荡古代 高h 大尺度纯肉 np快穿 | 国产午夜精品理论片免费观看 | 黑兽在线观看高清在线播放樱花 | 男女交性视频无遮挡全过程 | 亚洲AV 中文字幕 国产 欧美 | 性虎成人网 | 日本女人下面毛茸茸 | 九九大香尹人视频免费 | 香蕉人人超人人超碰超国产 | 日本护士性生活 | 黄色三级在线观看 | 99婷婷久久精品国产一区二区 | 无码专区久久综合久综合字幕 | 亚洲高清一区二区三区电影 | 伊人久久综合谁合综合久久 | 国产免费不卡 | 俄罗斯另类Z0Z0ZOZO | 欧美日韩亚洲中字二区 | 国产精品成人久久久久A伋 国产精品成人观看视频免费 | 好看的电影网站亚洲一区 | 欧美一级黄色影院 | 国内精品蜜汁乔依琳视频 | 久久re视频这里精品青 | 恋老视频 国产国佬 | 中文字幕绝色少妇性 | 国产精品大全国产精品 | 亚洲精品福利一区二区在线观看 | 亚洲高清无码在线 视频 | 99re久久热免费视频 | 日日摸天天添天天添无码蜜臀 | gogogo高清在线观看 | 儿子好妈妈的HD3中字抢劫 | 中国女人内谢69xxxxxx直播 | 午夜免费无码福利视频麻豆 |