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