|
托管代碼是你唯一的選擇
對于普通的ISV和開發(fā)者來說,托管代碼將是唯一的選擇。你將不能使用C++來編寫程序,同時,也不能對已有的native dll或者系統(tǒng)函數(shù)進行P/Invoke調用。也就是說,不要奢望將你的某些代碼封裝在native dll里面然后在托管代碼里面調用。
兩種開發(fā)模型可以選擇
而編寫托管代碼將有兩種方式,一種是編寫Silverlight的應用程序,另外一種方式是編寫XNA的程序。
這里的Silverlight 程序不同于常規(guī)意義上的Silverlight,雖然它是脫胎自Silverlight 3,但是又去掉了一部分不適用于移動設備的特性,同時又加入了一些Silverlight 4的特性或者是針對移動設備的代碼。同時,常規(guī)概念中咱們所看到的Silverlight程序都是in browser的;但是對于Windows Phone 7上的Silverlight應用程序來說,它們都是out browser的,也就是說脫離瀏覽器單獨運行的。
對于XNA程序來說,對于絕大部分國內的開發(fā)者來說或許是個陌生的東西。它是以前微軟推出的用來開發(fā)XBox上的游戲以及Zune上的應用程序的一套開發(fā)工具。很遺憾的是,由于XBox和Zune一直沒有正式的進入國內,所以國內的開發(fā)真關注這方面的內容的甚少。同樣,它也是采用托管代碼。它的開發(fā)環(huán)境是一套基于Visual Studio稱之為XNA Game Studio的東西。
Windows Phone 7 應用程序架構
我們會看到,最底層是.NET Compact Framework,它是一些核心組件。在此之上則是一些通用服務,例如傳感器API,位置API,Windows Live服務,網(wǎng)絡服務,多媒體等等。再網(wǎng)上一層則是 Silverlight 或者 XNA 自己特有的一些內容。最上層則是你基于這兩種不同架構所編寫的應用程序。
開發(fā)工具的選擇
目前您可以下載 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 的開發(fā),也就是說它純粹是免費的了。而不像以前,我們要做Windows Mobile的開發(fā),必須要購買Visual Studio才行。
安裝這套開發(fā)工具需要您使用Windows 7或者Vista SP2操作系統(tǒng),需要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的應用程序了。
工程類型
安裝完開發(fā)工具之后,打開Visual Studio 2010 Express for Windows Phone。您會發(fā)現(xiàn)有如下工程類型可以選擇:
我們會發(fā)現(xiàn)在Silverlight應用程序中,除了類庫工程之外我們有兩種應用程序可以選擇。一種是“Windows Phone Application”,另外一種是“Windows Phone List Application”。
第一種工程是一個非常普通的Silverlight應用程序。第二個工程是一個主界面為一個Listbox的應用程序,它給你演示如何在界面中使用列表。但是,我相信絕大部分人需要等待的是標準的Pivot類型的窗體以及它哪6個Hub中類似于滑動窗體一般的界面。這兩種窗體的模板在目前的CTP版本中尚未出現(xiàn),希望在正式版中能夠看到。
至于XNA Game Studio類型的工程則豐富多彩了,不但有Windows Phone Game,還有Windows Game和XBox 360 Game。
系統(tǒng)的本質
我們新建一個普通的Silverlight應用程序,然后在界面上拖拽進入一個Button控件。然后雙擊Button,在其Click事件中編寫如下代碼:
MessageBox.Show(System.Environment.Version.ToString(), System.Environment.OSVersion.ToString(), MessageBoxButton.OK);it知識庫:你必須知道的Windows Phone 7開發(fā),轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。