四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

一張破圖勝過(guò)長(zhǎng)篇大論(譯文:關(guān)于Windows 8的新編程體系)

  譯者:linger(sysu大三 )

  注:本文是DOUG SEVEN寫(xiě)的關(guān)于Windows 8新的編程體系的一篇文章《A bad picture is worth a thousand long discussions》的譯文。

  在Build會(huì)議中,我跟顧客,還有其他的參與者,Microsoft的mvp,Microsoft的地方主管,Microsoft的工程團(tuán)隊(duì)成員談了很多。其中談的最多的是,Windows 8的平臺(tái)和工具的技術(shù)盒子圖。如下所示:

  現(xiàn)在我告訴你,我曾畫(huà)過(guò)很多這種軟件架構(gòu)圖,當(dāng)然并不是很容易畫(huà)出來(lái)的。這種圖從技術(shù)的角度來(lái)說(shuō)永不可能是精確的。顯然沒(méi)有一種簡(jiǎn)單的方式對(duì)這種復(fù)雜的系統(tǒng)來(lái)畫(huà)一張技術(shù)上精確無(wú)誤的框架圖。結(jié)果是,你的框架圖是會(huì)漏掉很多盒子的(漏掉很多在整個(gè)體系中實(shí)際存在的技術(shù))。不幸的是,那正是這里所發(fā)生的事(Windows 8的技術(shù)盒子漏掉了一些實(shí)際存在的技術(shù))。

  談話(huà)中其中之一的話(huà)題是圍繞著技術(shù)盒子中綠色部分(即是Metro風(fēng)格的應(yīng)用程序)為何沒(méi)有出現(xiàn).NET和CLR。是不是在Metro風(fēng)格的應(yīng)用程序中,VB,C#在編譯和運(yùn)行過(guò)程都不兼容WinRT?這意味著.NET框架的終結(jié)么?

  還有一些研究過(guò)二進(jìn)制碼的質(zhì)疑是否有兩個(gè)CLR。Windows 8究竟在搞什么呢?

  昨晚我跟.NET CLR的團(tuán)隊(duì)的成員們交流過(guò)(這里不說(shuō)出他們的名,不過(guò)請(qǐng)相信我,他們肯定明確知道這個(gè)體系是如何運(yùn)行的),下面是一些內(nèi)部消息。

  基本事實(shí):

  只有一個(gè)CLR。每個(gè)應(yīng)用程序或者應(yīng)用程序池圍繞著一個(gè)進(jìn)程旋轉(zhuǎn),而CLR就是在該進(jìn)程內(nèi)部工作的。這意味著,同時(shí)運(yùn)行的一個(gè)Metro風(fēng)格的應(yīng)用程序和一個(gè)桌面模式的應(yīng)用程序用的是相同的CLR二進(jìn)制碼,只不過(guò)是CLR的兩個(gè)不同的實(shí)例。

  .NET4.5在桌面模式的應(yīng)用程序和Metro風(fēng)格的應(yīng)用程序都可以用到。不過(guò)有點(diǎn)不同。Metro風(fēng)格的應(yīng)用程序使用的是最適合稱(chēng)之為另一個(gè).NET的Profile (比如說(shuō)桌面模式的應(yīng)用程序使用的是.NET Client的Profile ,而Metro風(fēng)格的應(yīng)用程序使用的是.NET Metro的Profile)。事實(shí)上并不是不相同,但在Metro風(fēng)格的應(yīng)用程序中.NET的實(shí)現(xiàn)像是另一個(gè)Profile一樣。

  不管一個(gè)桌面模式的應(yīng)用程序或者M(jìn)etro風(fēng)格的應(yīng)用程序是不是.NET的app, 但都是編譯成相同的MSIL(微軟中間語(yǔ)言代碼)。并不存在一個(gè)特殊的Windows 8的Metro的中間語(yǔ)言代碼(就像CLR那樣,只有一個(gè)MSIL)。

  下面是一張更準(zhǔn)確的圖(當(dāng)然還是技術(shù)上不是精確的框架圖)

 

  在這張圖中,你可以看到CLR和.NET4.5都用到了用C#和VB寫(xiě)的桌面模式的app(藍(lán)色部分)和Metro風(fēng)格的app(綠色部分)。Silverlight仍然只能在桌面模式作為IE的插件運(yùn)用到(當(dāng)然,離開(kāi)瀏覽器,它在桌面模式下還是支持的)。這幅圖中另一個(gè)新添加的是DirectX,原來(lái)第一張圖是完全沒(méi)有存在的。DirectX在高級(jí)app中是一種很重要的技術(shù),比如游戲。DirectX使得C++可以訪問(wèn)控制GPU。

  最大的疑惑,正如我所提到的,是跨越了了藍(lán)色部分和綠色部分的.NET的使用。為什么會(huì)存在.NET Metro Profile(我起的名)呢?因?yàn)镸etro風(fēng)格的app運(yùn)行在一個(gè)特殊app的容器中,該容器限制了應(yīng)用程序的訪問(wèn)權(quán)限,從而保護(hù)了終端用戶(hù),防止受到惡意程序的攻擊。就本身而論,Metro Profile其實(shí)是.NET Client Profile的一個(gè)子集,只不過(guò)是去掉了一些app容器中對(duì)于Metro風(fēng)格程序不允許的權(quán)限。開(kāi)發(fā)者如果習(xí)慣了.NET的話(huà),會(huì)發(fā)現(xiàn)很容易使用WinRT,就像是這樣子的,有一些引用的集合,然后去使用那些集合中的成員。

  Additionally, some of the changes in the Metro Profile are to ensure Metro style apps are constructed in the preferred way for touch-first design and portable form factors. (該句不知該怎么翻譯)比如File.Create()。以前如果你使用.NET來(lái)創(chuàng)建一個(gè)新文件的話(huà),你會(huì)使用File.Create(string fileLocation) 在磁盤(pán)上創(chuàng)建一個(gè)新文件,然后使用一個(gè)stream reader來(lái)創(chuàng)建以字符串形式存在的文本的內(nèi)容。這是一個(gè)同步操作(你調(diào)用了該函數(shù),進(jìn)程就阻塞在那里,直到函數(shù)返回)。而如今的Metro風(fēng)格的app的理念是,應(yīng)該利用異步的編程來(lái)減少比如IO延遲之類(lèi)的東西,比如上面提到的文件系統(tǒng)的操作。這意味著,.NET Metro Profile提供給你的不是同步操作FileCreate()。不過(guò),你仍然可以調(diào)用File.Create()(或者是File.CreateNew()我也想不起來(lái)函數(shù)名),不過(guò)是異步操作。一旦回調(diào)函數(shù)被使用,你仍然可以打開(kāi)一個(gè)stream reader然后對(duì)文件的內(nèi)容視作一個(gè)字符串來(lái)處理,就像你所做的那樣。

  最后,所有這些意味著,你會(huì)有一些選擇,但你不會(huì)因此犧牲多少。你仍然可以建立.NET和Silverlight的app,正如你所習(xí)慣的那樣,當(dāng)然他們還可以在Windows上跑很多年。如果你想建立一個(gè)Metro風(fēng)格的app,你有四種選擇:

  1. Xaml和.NET(C#或者VB)。你不會(huì)放棄很多.NET的東西(記住,你只是拋棄那些在app容器中所禁止的那些),你還可以使用WinRT來(lái)訪問(wèn)傳感輸入和其他的系統(tǒng)資源。

  2. Xaml和C++。你可以使用你在Xaml和C++的技能來(lái)使用WinRT。當(dāng)然你就感覺(jué)不到了.NET的好處,不過(guò),有些人喜歡管理自己程序的垃圾回收。

  3. Html和Javascript。你可以利用你在UI方面的能力,在Javascript中調(diào)用WinRT來(lái)訪問(wèn)系統(tǒng)資源和傳感輸入。

  4. DirectX和C++。如果你在開(kāi)發(fā)一個(gè)刺激好玩的游戲,你可以利用DirectX和通過(guò)C++跟WinRT來(lái)訪問(wèn)設(shè)備傳感器和系統(tǒng)資源。

  以上是譯文,若那些譯的不好,敬請(qǐng)指正。下面在提供一些關(guān)于Windows 8的編程鏈接:

  WinRT and .NET in Windows 8

  Analyzing Windows 8 and WinRT

  A bad picture is worth a thousand long discussions

  Why is WinRT unmanaged?

NET技術(shù)一張破圖勝過(guò)長(zhǎng)篇大論(譯文:關(guān)于Windows 8的新編程體系),轉(zhuǎn)載需保留來(lái)源!

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

主站蜘蛛池模板: 日本电影纯爱| 白上之黑电影高清完整版在线观看| 自拍在线播放| 稻草人三年级课外阅读| 我的世界,视频| 林安| 老牛家的战争电视剧全集免费观看| 乙亥北行日记| 菊次郎的夏天钢琴演奏完整版| 中国手抄报| 风云太白山电影| 广西电视台新闻频道| 萱草花二声部合唱谱 | 美女mm| 李鸿杰| 熊出没在线播放| 谭咏麟个人资料简介| 茶馆剧本完整版| 看黄在线看| 繁花免费版在线观看全集国语| 我的1919 电影| 部队换季保养广播稿| 柏拉图的电影| 范冰冰性感| 国产伦理女村支书| 自拍性视频| 粤韵风华| 声色犬马 电影| 电影白上之黑| 辛鹏| 第一财经现场直播| 勇士之门 电影| www.douyin.com| 手机演员表| 许薇| 少林七崁| 让子弹飞高清完整版免费观看| 金鸳鸯| 边陲迷雾| 变形金刚6免费观看高清完整版| 啊嗯啊嗯|