你必須知道的Windows Phone 7開發

來源: WPMind  發布時間: 2010-03-30 16:57  閱讀: 1342 次  推薦: 0   原文鏈接   [收藏]  

  托管代碼是你唯一的選擇

  對于普通的ISV和開發者來說,托管代碼將是唯一的選擇。你將不能使用C++來編寫程序,同時,也不能對已有的native dll或者系統函數進行P/Invoke調用。也就是說,不要奢望將你的某些代碼封裝在native dll里面然后在托管代碼里面調用。

  兩種開發模型可以選擇

  而編寫托管代碼將有兩種方式,一種是編寫Silverlight的應用程序,另外一種方式是編寫XNA的程序。

  這里的Silverlight 程序不同于常規意義上的Silverlight,雖然它是脫胎自Silverlight 3,但是又去掉了一部分不適用于移動設備的特性,同時又加入了一些Silverlight 4的特性或者是針對移動設備的代碼。同時,常規概念中咱們所看到的Silverlight程序都是in browser的;但是對于Windows Phone 7上的Silverlight應用程序來說,它們都是out browser的,也就是說脫離瀏覽器單獨運行的。

  對于XNA程序來說,對于絕大部分國內的開發者來說或許是個陌生的東西。它是以前微軟推出的用來開發XBox上的游戲以及Zune上的應用程序的一套開發工具。很遺憾的是,由于XBox和Zune一直沒有正式的進入國內,所以國內的開發真關注這方面的內容的甚少。同樣,它也是采用托管代碼。它的開發環境是一套基于Visual Studio稱之為XNA Game Studio的東西。

  Windows Phone 7 應用程序架構

 

  我們會看到,最底層是.NET Compact Framework,它是一些核心組件。在此之上則是一些通用服務,例如傳感器API,位置API,Windows Live服務,網絡服務,多媒體等等。再網上一層則是 Silverlight 或者 XNA 自己特有的一些內容。最上層則是你基于這兩種不同架構所編寫的應用程序。

  開發工具的選擇

  目前您可以下載 Windows Phone Developer Tools CTP版。它里面包含Visual Studio 2010 Express for Windows Phone CTP版,Windows Phone Emulator CTP版,以及Silverlight for Windows Phone CTP版和XNA Game Studio CTP版。在這里需要特意說明的是,Visual Studio 2010 的Express版本支持了Windows Phone 的開發,也就是說它純粹是免費的了。而不像以前,我們要做Windows Mobile的開發,必須要購買Visual Studio才行。

  安裝這套開發工具需要您使用Windows 7或者Vista SP2操作系統,需要3G的硬盤空間。對于內存需求的是2G,同時還需要一塊支持DirectX 10的顯卡。

  同時,如果您是一位前端設計人員,想要仔細研究研究Silverlight的話,那么則可以下載Express Blend 4 Beta,然后再安裝上Expression Blend Add-in for Windows Phone以及Expression Blend SDK for Windows Phone. 您就可以體驗在Expression Blend里面設計Windows Phone 7的應用程序了。

  工程類型

  安裝完開發工具之后,打開Visual Studio 2010 Express for Windows Phone。您會發現有如下工程類型可以選擇:

  我們會發現在Silverlight應用程序中,除了類庫工程之外我們有兩種應用程序可以選擇。一種是“Windows Phone Application”,另外一種是“Windows Phone List Application”。

  第一種工程是一個非常普通的Silverlight應用程序。第二個工程是一個主界面為一個Listbox的應用程序,它給你演示如何在界面中使用列表。但是,我相信絕大部分人需要等待的是標準的Pivot類型的窗體以及它哪6個Hub中類似于滑動窗體一般的界面。這兩種窗體的模板在目前的CTP版本中尚未出現,希望在正式版中能夠看到。

  至于XNA Game Studio類型的工程則豐富多彩了,不但有Windows Phone Game,還有Windows Game和XBox 360 Game。

  系統的本質

  我們新建一個普通的Silverlight應用程序,然后在界面上拖拽進入一個Button控件。然后雙擊Button,在其Click事件中編寫如下代碼:

MessageBox.Show(System.Environment.Version.ToString(), System.Environment.OSVersion.ToString(), MessageBoxButton.OK);

  然后按下F5運行起程序,Visual Studio 將會自動調用起Windows Phone 7的模擬器并將你的程序部署上去運行起來。然后在模擬器中點擊那個Button,則會得到如下結果:

  這就很清楚了,Windows Phone 7其實是基于WinCE 7的內核。而它上面所運行的托管代碼是.NET Compact Framework 3.7。

  小結

  Windows Phone 7是一個全新的平臺,對于絕大部分開發人員來說即熟悉又陌生。熟悉的是它延續使用了C#來開發應用,陌生的是它采用Silverlight和XNA作為開發的選擇。但是,不管怎么來說,離Windows Phone 7的正式上市還有很長的事件,足夠我們進行學習和研究了。希望在Windows Phone 7正式上市之日我們能看到大量的Windows Phone 7應用程序出現在用戶面前。

  參考來源:http://blogs.msdn.com/abhinaba/archive/2010/03/13/windows-phone-7-series-programming-model.aspx

0
0
 
標簽:WP7
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()