你必須知道的Windows Phone 7開發

來源:互聯網
上載者:User

    你必須知道的Windows Phone 7開發,包括Managed 程式碼、開發模型、應用程式架構、開發工具的選擇、工程類型、系統的本質。

     

    Managed 程式碼是你唯一的選擇

    對於普通的ISV和開發人員來說,Managed 程式碼將是唯一的選擇。你將不能使用c++來編寫程式,同時,也不能對已有的native dll或者系統函數進行P/Invoke調用。也就是說,不要奢望將你的某些代碼封裝在native dll裡面然後在Managed 程式碼裡面調用。

    兩種開發模型可以選擇

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

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

    對於XNA程式來說,對於絕大部分國內的開發人員來說或許是個陌生的東西。它是以前微軟推出的用來開發XBox上的遊戲以及Zune上的應用程式的一套開發工具。很遺憾的是,由於XBox和Zune一直沒有正式的進入國內,所以國內的開發真關注這方面的內容的甚少。同樣,它也是採用Managed 程式碼。它的開發環境是一套基於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的核心。而它上面所啟動並執行Managed 程式碼是.NET Compact Framework 3.7。

    小結

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

    http://dev.chinamobile.com/news/technologyproduct/2810.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.