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

WinRT:Win32的面向對象替代品

  WinRT 不是另一個抽象層;它就像 Win32 API 一樣,直接駐留在內核之上。自從 1993 年 Win32 伴隨 Windows NT 被引入以來,這標志著對于 Windows 核心的首次重大突破。WinRT 與 Win32 截然不同,它代表了新的語義學應用程序執(zhí)行環(huán)境。

  不像 Win32 是用C語言思想設計的,而 WinRT API 是用 C++ 編寫的,并且從一開始的設計就是面向對象的。一致性、易用性、以及性能都是新的運行時 API 的重要方面。WinRT API 中的每個對象都支持反射,以便甚至連諸如 JavaScript 等動態(tài)語言都可有效地使用它們。隨之而來還有統(tǒng)一對象模型,這對于基于庫的 C++ 而言是個稀罕物。

  附注:Win32 API 并未被移除,而且那些使用傳統(tǒng)應用程序執(zhí)行環(huán)境的較早的應用程序將繼續(xù)按預期方式工作。

  C++開發(fā)

  在 C++ 中編寫用戶界面將首選 XAML。所有與 XAML 一起使用的庫都已被移植到C++,并且被編譯為本地 x86 版本。使用 XAML 和 C++ 編寫的 Metro 風格應用程序并不運行在 .NET 之上,它們就像其他任何 Visual C++ 應用程序一樣,被直接編譯為 x86 版本。

  調用 UI 控件的方法就像在 C++ 中調用任何其他對象的方法一樣。在機器碼級別上,某個指令將 this 指針推送到堆棧上,然后通過虛函數(shù)表(v-table)調用相應函數(shù)。這使得即使在低功耗設備上也能達到最優(yōu)的性能。

  支持一些現(xiàn)代的 C++ 應用程序所用的庫,例如 Boost。

  重疊窗口不復存在

  對話框是來自上一版 Windows 的核心概念,而在 WinRT 中它將不復存在。對于微軟而言,性能成本和可用性問題已不再是理所當然的。希望使用這種模式的應用程序將要開發(fā)其他的方式來傳遞信息,例如消息框的方式。

  另一并未納入 WinRT 的庫是 GDI。如果某個應用程序要使用 Metro 風格界面,那么它需要按自上而下的方式來做,將 Metro 風格與經(jīng)典用戶界面相混合的情況是不可能出現(xiàn)的。

  PlayTo 契約

  另一被公開的契約是 PlayTo(由……發(fā)揮)。這使得應用程序可發(fā)送如音頻及視頻等媒體文件到某個 charm[1]。然后那個 charm 將允許用戶選擇某個他們想用的應用程序來查看該文件。據(jù)推測,媒體文件不僅限于物理文件,而是任何可表示為數(shù)據(jù)流的媒體形式。

  C#/VB:平臺調用(P/Invoke)之終結

  從 .NET 中調用本地函數(shù)通常涉及建立結構和操縱指針。而在 WinRT 環(huán)境下,所有的 API 被公開為許多可通過 C# 及 VB 直接使用的對象。這把 .NET 開發(fā)者置于與 C++ 開發(fā)者平等的層面上。

  應用程序的響應速度對于微軟而言是非常重要的。所有耗時超過 50 毫秒的操作系統(tǒng)級別的 API 調用將被公開為異步操作,正是為了向開發(fā)者傳遞這種價值觀。

  JavaScript

  對于 Windows 8 而言,第四大語言就是 JavaScript。盡管它不使用 XAML,但它就像本地及 .NET 應用程序一樣,擁有對底層 WinRT API 的直接訪問權。這不僅是個像 PhoneGap 一樣的容器,JavaScript 開發(fā)者還可獲得與其他開發(fā)者所使用的同樣豐富的 API。

  由于是 JavaScript,因此所選擇的 UI 工具包是 HTML 和 CSS 而非 XAML。IE 10 及 Metro 風格的 JavaScript 應用程序使用的是同一渲染引擎,盡管那些應用程序實際并不運行在瀏覽器中。JavaScript 應用程序看起來就像任何其他 Metro 風格應用程序一樣。

  JavaScript 中的用戶控件幾乎與 C++ 及 .NET 中的控件不相上下。有些控件對于 HTML 渲染引擎而言是固有的,而另外一些控件則是用 JavaScript 編寫的。這些基于 JavaScript 的控件都是基于 div 的,非常像那些使用 jQuery 創(chuàng)建的控件。

  應用程序容器和應用程序權限

  Metro 風格應用程序運行在被稱為“應用程序容器”(app container)的環(huán)境中。這似乎取代了由基于 Win32 應用程序所使用的窗體環(huán)境。

  大多數(shù) API 調用被直接發(fā)送給底層內核。然而,有些調用將被通過系統(tǒng)代理(system broker)路由。系統(tǒng)代理確保應用程序只能訪問那些經(jīng)用戶已批準的功能。例如,當某個應用程序首次嘗試訪問攝像頭時,服務代理(service broker)將提示用戶以獲取他們的批準。應用程序必須包括一份清單,其中注明該應用程序可能需要的所有限制服務。這種模式對于移動設備開發(fā)者而言將是非常熟悉的。

  所有 Metro 風格應用程序都會運行在 WinRT 的應用程序容器中,而且會受到系統(tǒng)代理的監(jiān)控,甚至連那些用 C++ 編寫的應用程序也不例外。該思想是為了限制應用程序破壞系統(tǒng)的能力。雖然也許并不是不可能的,但是在 WinRT 下創(chuàng)建惡意軟件與在 Win32 中相比將會難得多。

  所有 Metro 風格應用程序必須進行數(shù)字簽名

  不允許匿名應用程序。應用程序為了測試可進行自簽名,但是當它們出現(xiàn)在應用商店里時,它們就必須使用真實證書進行簽名。

  譯注

  [1] charm,微軟已將“CHARM”注冊為計算機、軟件產(chǎn)品、電氣和科學產(chǎn)品類商標。微軟將 CHARM 描述為計算機程序、圖形用戶界面軟件和操作系統(tǒng)程序。在觸摸版 Windows 8 中,charms 在屏幕右側;在傳統(tǒng)版(使用鼠標和鍵盤)Windows 8 中,charms 出現(xiàn)在屏幕左側。charms 包括:Search(搜索)、Share(分享)、Start(開始)、Devices(設備)、Settings(設置)。詳見微軟申請 Windows 8 功能 charm 注冊商標(圖)。

  作者:Jonathan Allen 譯者:高翌翔

  查看英文原文:WinRT: An Object Orientated Replacement for Win32 

  相關博客文章:Windows Runtime(WinRT) 揭秘

NET技術WinRT:Win32的面向對象替代品,轉載需保留來源!

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

主站蜘蛛池模板: 久久久久亚洲日日精品 | 人人在线碰碰视频免费 | 一本道dvd久久综合高清免费 | 窝窝午夜色视频国产精品东北 | 国产成人免费不卡在线观看 | 久久久久青草大香线综合精品 | 一个人免费播放高清在线观看 | 748亚洲大胆国模人体 | 久久天天婷婷五月俺也去 | 熟妇无码乱子成人精品 | 国语自产视频在线 | 成人在线观看免费视频 | 亚洲精品无码成人AAA片 | 亚洲 欧美 中文 日韩 另类 | 狠狠色丁香婷婷久久综合五月 | 日本 稀土矿 | 国产欧美精品一区二区三区-老狼 | 亚洲AV噜噜狠狠网址蜜桃尤物 | 玖玖爱在线播放 | 小s现场抛胸挤奶 | 日产久久视频 | 啊灬啊灬啊灬快高潮视频 | youjizz护士 | 99久久爱re热6在线播放 | 快播最新电影网站 | 国产成人无码WWW免费视频在线 | AV色蜜桃一区二区三区 | 日本免费一区二区三区最新vr | 国色天香社区视频免费高清3 | 亚洲精品国产一区二区贰佰信息网 | 亚洲视频在线观看网站 | 久久九九少妇免费看A片 | 一本道高清不卡v免费费 | 草草久久久无码国产专区全集观看 | 专干老肥熟女视频网站300部 | 久久高清内射无套 | av天堂网2017avtt | 无码人妻精品国产婷婷 | 欧美亚洲高清国产 | 久久超碰国产精品最新 | 精品久久伦理中文字幕 |