天天看點

淺談Windows 8, WinRT, XAML 和SilverlightWinRT程式設計編寫體式可移植性的Metro風格的應用程式如何選擇

相信大家都很關注即将出世的Windows 8, 2 月 29 日(也就是明天)的全球移動通信大會(MWC)上,微軟将帶來 Windows 8 消費者預覽版(Consumer Preview),讓我們來先睹為快,了解下windows 8 給我們帶來了哪些新特性。

桌面與Metro

  • Windows 8有兩種模式,分别是“桌面”和 “Metro”。這些名字都是暫時的,很可能在系統釋出前改變。
  • Silverlight和WPF将繼續運作在Windows8的桌面模式下。你可以認為桌面模式為Windows7++的一個改進版本,特别是對觸摸操作進行了優化。老實說用手指在桌面模式下操作非常流暢,而這在Windows 7中是痛苦的。
  • 所有應用程式,在Windows 7中運作的Windows8桌面模式運作。我電腦上已經安裝了Silverlight和Flash,OneNote中,Live Writer的,即時信使,Skype和更多。到目前為止沒有問題(除了偶爾的不穩定,因為“這是一個早期預覽版本”(TM))。
  • Metro風格的應用程式是一類完全新的應用程式。他們其實更類似于一個Windows Phone7應用程式,而不是一個典型的Windows應用程式。它們用觸摸最佳,也可以用鍵盤和滑鼠驅動。
  • Metro 風格的應用程式合理的3種開發方式:XAML/C++,XAML/C# 或者HTML/CSS/Javascript。他們依靠一套名為“WinRT” 的API。

最後一點最為重要,它意味着你可以根據需要選擇哪一類開發方式來建立你的Metro風格的應用程式。

WinRT程式設計編寫體式

  • 三種編寫體式之間,由于語言的關系會有一些不同。例如:Javascript 和C#以不類似的方式解決異步程式設計(順便說一下,.Net Framework 4.5中C#有很多await,async 等關鍵字,使異步程式設計更類似于同步編碼)。同樣Javascript比C#更加靈活,但C#代碼調試更加容易等等。
  • 三種編寫體式中談非托管代碼“(WinRT庫),當然是C ++,這是直接調用非托管。對于C#和JavaScript,有一層托管層去深入調用WinRT。然而,托管層比以前更瘦。原因很簡單,大部分之前的.NET庫是現在的WinRT庫,而且這些都是非托管。
  • 然而對于C#開發人員,你不會注意到非托管的WInRT(在一些罕見的場合除外),因為API是托管的。

    Windows8的程式設計模型:藍方是大緻維持不變(NET4.5,Silverlight5中,WIN32),一切都将照常運作。綠色的一面是新的

    淺談Windows 8, WinRT, XAML 和SilverlightWinRT程式設計編寫體式可移植性的Metro風格的應用程式如何選擇

可移植性的Metro風格的應用程式

  • WinRT編碼的HTML/ CSS/ JavaScript的應用程式是不跨平台的。它們是新的東西,是以無論是HTML/CSS(例如新的Grid布局,這是現在的其他浏覽器不支援的),他們使用的都是特定的WinRT API。這不是網頁程式設計,這是一個獨立的Windows8應用程式是在一種程式設計語言,也可以在網絡上使用的編碼。可以充分利用兩個非常不同的野獸,雖然課程的知識和技能。
  • XAML/ C#的應用程式不是Silverlight或WPF。他們是新的東西。他們使用特定的WinRT API 。大多數情況下,這些API全部從已有的Silverlight中獲得,但是有一個相當大的“大掃除”工作,以及大量的API不同的命名空間中移動,有時改名。一個很好的例子是System.Threading.Dispatcher類,這是現在Windows.UI.Core.CoreDispatcher。CheckAccess()方法現在是屬性是現在名字命名為ThreadAccess的屬性。

綜上兩點,注意到類似的開發經驗是:大部分是熟悉的,有些東西是新的(最顯着的新的/改名的API),這是一個學習的小技巧。

如何選擇

用Jason Zander's和一些技術專家的自己的話來說,選擇開發一個新的Metro風格的應用程式的編寫體式,你應該考慮你所擁有的技能。如果你是一個web程式猿,在javascript中有豐富的經驗,很顯然,你可以運用你熟悉的語言來進行開發。你将有一個學習路線來學習新的專有的APIs。如果你是一個silverlight/WPF開發人員,或者沒有XAML語言基礎的.NET開發人員,你将會更加容易上手C# / XAML這種編寫體式。最後,如果你是一個C++愛好者, C++/XAML的編寫體式就是你的首選了。

出處:http://blog.csdn.net/lmyhao

轉載:歡迎轉載,為了儲存作者的創作熱情,請按要求【轉載】,謝謝

要求:未經作者同意,必須保留此段聲明;必須在文章中給出原文連接配接;否則必究法律責任 

繼續閱讀