Windows 8揭秘:魚和熊掌可以兼得
微軟在官方博客中不斷地為大家介紹Windows 8的新功能和開發(fā)過程,今天輪到了活動貼片(Live Title),活動貼片是Windows 8 Metro界面開始屏幕(Start Screen)的一個重要功能,在開發(fā)過程中微軟的宗旨是,活動貼片在實現內容即時更新的同時,不以影響系統(tǒng)性能和減少電池續(xù)航為代價,可謂是魚和熊掌兼得。
Windows 8活動貼片的開發(fā)目標是:
— 在不影響系統(tǒng)性能的前提下實現上百個活動貼片;
— 不使用文本或圖標,采用漂亮的圖片;
— 便于開發(fā)人員使用;
— 實現實時發(fā)布,各類通知信息都是即時更新的。

為了實現這些目標,Windows 8開始屏幕并不是由在后臺運行的應用程序代碼所驅動的,而是完全由數據來驅動,這樣就能節(jié)約用電并且能夠提供更好的系統(tǒng)性能。
微軟在博客中還介紹了開發(fā)人員如何利用預先定義的模板來實現上述效果,不過對于普通用戶來說,沒有必要做進一步的了解。
系統(tǒng)在向活動貼片推送通知時,Windows 8并未采用輪詢系統(tǒng)(Polling systems),輪詢系統(tǒng)要求開始屏幕非常頻繁地檢查每個內容的更新,而不是直接將更新內容推送給設備,因此會增加電池損耗、占用網絡流量。
Windows 8通知推送平臺圖釋:

Windows Push Notification Service(WNS):它負責推送活動貼片和通知;
App Service:應用程序的Web服務,它會向WNS發(fā)送通知和貼片更新,例如,它就是“天氣”應用程序的官網,有天氣變化就會向WNS發(fā)送內容更新。
Windows客戶端平臺:它代表用戶PC終端。
微軟表示,在這種模式下,應用程序的后臺服務器會向WNS推送內容,圖片則是直接從后臺服務器抓取過來的,然后兩者共同在Windows 8設備上顯示出來。
讓我們舉例來說明一下,如果這款應用程序的Web服務是一個社交網站,當有人對你的照片進行了評論,那么這個社交網站就會向WNS推送通知,WNS 再將此通知推送到Windows 8客戶端,在開始屏幕需要顯示貼片更新時,Windows 8直接根據通知中包含的XML從這個社交網站的服務器上抓取圖片。當通知和圖片都下載完畢,應用程序會完成貼片的渲染,并顯示到開始屏幕上。
為了防止惡意軟件入侵并惡意更新活動貼片,微軟采用了“匿名鑒定機制”(anonymous authentication mechanism),在你的Windows 8計算機和WNS之間創(chuàng)建一個獨一無二的響應,這種機制將應用程序和活動貼片服務器連接到了一起,以防止其它應用程序介入并惡意更新貼片內容。

每天發(fā)送到Windows 8開發(fā)者預覽版的通知數量
Windows 8新的任務管理器也支持查看應用程序的活動貼片占用的資源:

結語:
微軟在Windows 8中采用的這個通知平臺,讓用戶可以一眼就看到更新后的消息,而且兼顧到系統(tǒng)性能和電池續(xù)航。對于開發(fā)人員來說,微軟創(chuàng)建的Windows Push Notifications Service可以幫助他們無需編寫復雜的網絡連接代碼就可以為自己的應用程序創(chuàng)建活動貼片,由于WNS使用的是標準Web技術,比如HTTP POST,開發(fā)人員能輕松地整合基于現有web服務的通知信息。
微軟表示,總而言之,Windows 8中的這個通知平臺能讓你對所安裝的應用程序的更新信息一目了然,而且不用擔心影響性能和電池續(xù)航時間。
【編輯推薦】