天天看點

Windows Embedded Compact 7桌面浏覽器體驗  Windows Embedded Compact 7桌面浏覽器體驗

體驗新一代WinCE,參與調查,赢大獎 http://www.microsoft.com/windowsembedded/zh-cn/products/windowsce/default.mspx http://www.msembed.com/newsletter/201102/Compact7.html

  Windows Embedded Compact 7桌面浏覽器體驗

随着計算機、網絡技術的迅猛發展,新型的高科技含量的電子産品層出不窮,遍及家電、生産、軍事等各個領域。嵌入式系統因其體積小,速度快而受到重視。

在掌上電腦、手機、導航裝置、資訊家電領域嵌入式系統被廣泛采用,其中,嵌入式桌面浏覽器作為重要的嵌入式系統應用軟體,是不可或缺的。

娛樂消費類電子産品對成本非常敏感,這就造成了嵌入式浏覽器必須滿足特定的要求,嵌入式桌面浏覽器的主要開發難點:

對CPU的開銷要低。

消費類電子産品CPU能力弱,功耗低,種類繁多,大多數處理器的運算能力遠遠比不上PC的CPU,是以桌面浏覽器一定要能在100MHz以下的主頻上可以運作。

記憶體占用要盡量小。

一般來說,要求嵌入式桌面浏覽器運作期間占用記憶體小于6M,代碼小于1M。

開發設計要合理。

消費類電子産品一般是通過遙控器或觸控來操作的,遙控器不可能跟鍵盤一樣複雜。對于使用嵌入式桌面浏覽器來說,主要通過方向鍵、确認鍵和傳回鍵來完成。基于這個特點,要求網頁中焦點不能過多,另外焦點之間的跳動必須合理。當網頁超出電視顯示範圍的時候,使用者可以通過方向鍵移動,這要求桌面浏覽器必須把網頁排版在合理的寬度内,使用者可以上下方向移動察看網頁内容。

Windows Embedded Compact 7是WinCE的最新版本,推出了一個全新的浏覽器元件。不僅支援多點觸摸的體驗,使用者可以通過不同的手勢将網頁進行放大、縮小和上下滑動。而且能夠利用Silverlight技術修改不同裝置上浏覽器的動畫效果、頁面結構、顔色;以及浏覽器的布局等,完全可以解決嵌入式浏覽器開發的難點。

用Windows Embedded Compact 7進行桌面浏覽器的開發,有很多的優勢:

首先,嵌入式桌面浏覽器對多種網絡的支援是一個必不可少的要求。這樣才能充分利用已有的資料資源,建立業務。用Windows Embedded Compact 7能應用在數字電視終端中,讓浏覽器支援相應的數字電視資料廣播協定。

Windows Embedded Compact 7可以讓桌面浏覽器要做到對HTTP協定的完整支援,可以實作與Internet的互聯,提供對FTP等協定的支援,使專業裝置對網絡的檔案傳輸、下載下傳更加友善快捷。

實作對JavaScript的支援。JavaScript作為一種腳本語言,本身可以提供良好的網絡互動性,還可以用來開發一些小遊戲。

 對CSS的支援為業務的應用開發提供了極大便利,也成為了嵌入式浏覽器基本的支撐技術。HTML與CSS在浏覽器中的運用最直接展現在電視中的界面美觀性,可以動态更新界面,增強了收視效果,并展現了網際網路電視個性化發展趨勢。

 使用IE核心的桌面浏覽器,使用了多頁面多線程的方式,降低了系統資源的耗費,友善了浏覽,開發容易便捷,使用常用的工具就可以開發出來;如果不要求特别完善強大的功能,隻需簡單拖一個IE控件就行了,這絕對展現了微軟技術的強大性。

Windows Embedded Compact 7具有很多新功能和新特性,Silverlight技術是一亮點。

利用Silverlight可建構整頁WPF式的Web應用程式,也可借助其他一些功能(如動畫、廣告等特定小程式)來豐富基于HTML的頁面。

桌面浏覽器并不直接處理構成Silverlight應用程式的XAML(可擴充應用程式标記語言)内容。實際上,在HTML頁面中,會有一個<object>标記指向Silverlight插件,并且其參數中會包含用于下載下傳所有必需XAML資源的URL。

Silverlight 帶有一個浏覽器互操作性層,它允許托管代碼通路基礎頁面的文檔對象模型,并允許注冊頁面級事件的托管處理程式。同時,頁面中運作的所有JavaScript代碼均可獲得對插件的XAML内容的通路權限,甚至可以進行修改。

Silverlight應用程式可被承載在某個頁面當中,該頁面又承載在其本機域以外的某個幀中。在這種情況下,Silverlight托管代碼将能夠以跨域的方式通路宿首頁面的DOM。桌面浏覽器可使用自己的屏障來阻止跨域腳本,但它們對于阻止Silverlight插件中的托管代碼也無能為力,大家可以利用HtmlAccess來控制跨域通路。

一經授予對基礎頁面 DOM 的通路權限,Silverlight應用程式即可使用靜态類HtmlPage的成員來完成自己的任務。完整的浏覽器資訊可通過BrowserInformation特性來擷取,這種情況下,特性屬于托管類型,可封裝在浏覽器級别可用的所有使用者代理資訊。

通路使用者代理資料可以這麼寫:

          string info = HtmlPage.BrowserInformation.UserAgent;

          HtmlElement lab1 = HtmlPage.Document.GetElementById("lab1");

          lab1.SetProperty("innerHTML", "Dino");

Silverlight 與 DOM 實作互動帶來的一個極大好處是能夠運作托管代碼來響應DOM事件。例如,當單擊某個按鈕時,可執行C#代碼而非JavaScript。

實作方式如下:

          HtmlElement butn1;

          butn1 = HtmlPage.Document.GetElementById("butn1");

          butn1.AttachEvent("click",

          new System.EventHandler(butn1_Click));

          void butn1_Click(object sender, EventArgs e)

          {

          Guid g = Guid.NewGuid();

          HtmlElement label1 = HtmlPage.Document.GetElementById("lab1");

          lab1.SetProperty("innerHTML", g.ToString());

          }

那麼會有人問,有沒有更直接的方法從一個Silverlight插件調用另一個呢?當然有,如下:

         HtmlElement plugin = HtmlPage.Document.GetElementById("Silverlight2");

         var content = (ScriptObject) plugin.GetProperty("content");

         var action = (ScriptObject) content.GetProperty("Action");

         action.Invoke("GetRandomNumber");

浏覽器互操作性層、包含多種功能,實作Silverlight托管領域和JavaScript解釋領域之間的通信。

從使用者體驗的角度來看,Windows Embedded Compact 7不僅僅滿足了使用者對于桌面浏覽器的認知體驗,好玩夠用,還提升了使用者的操作體驗,耐玩易用。

歡迎下載下傳試用新一代Windows Embedded CE(Compact7): http://www.microsoft.com/windowsembedded/zh-cn/products/windowsce/default.mspx

繼續閱讀