天天看點

Visual Studio 2008移動開發初體驗(一) Visual Studio 2008移動開發初體驗(一)

Visual Studio 2008移動開發初體驗(一)

趁着黃金周的空閑,學習一下新的技術,好讓自己的思維能跟上軟體更新的腳步,這大概就是程式員所面對的現實吧。在這個黃金周裡,我準備研究一下Visual Studio 2008中的移動開發部分。Visual Studio 2008目前還處在Beta 2的階段,當年VS 2005的Beta 2,已經和日後我們看到的RTM版本相差無幾了,但願VS 2008的Beta 2也是這樣。

VS 2008中內建的新移動開發工具并不少,最值得關注的是:.NET Compact Framework 3.5和SQL Server Compact Edition 3.5。需要解釋一下的是,.NET CF并沒有3.0版本,因為.NET Framework 3.0版本指的是WPF、WCF和WF,是以為了和桌面版.NET Framework相一緻,.NET CF新版本的版本号是3.5。同樣,SQL CE在改了N個名字之後,回歸了CE的名字,SQL CE 3.5也是繼SQL Mobile 2005(3.0)後的一次重要更新。

.NET CF 3.5中最重要的兩個元件是:WCF和Linq。.NET CF的 WCF元件可以通路WCF的Web Service,還可以支援基于Exchange Server郵件的WCF傳輸, Push Mail讓WCF的功能更加強大。LINQ是一種通用查詢工具,支援XML、資料庫、對象的查詢,在.NET CF中同樣實作了LINQ的功能。

除此之外,.NET CF 3.5還支援托管的音頻播放類,提供了SoundPlayer類播放多媒體聲音。壓縮功能,提供了System.IO.Compression命名空間用于進行資料壓縮。

VS 2008提供的單元測試等功能,我們在這裡就不詳細解釋了。

下面我們通過在VS 2008中建立一個簡單的移動應用程式來看一下,VS 2008在移動開發方面和VS 2005有哪些差別:

在打開VS 2008之後,我們仍然選擇File-New-Project菜單。選擇Visual C#類型,我們可以看到WCF和Workflow兩個類型,分别用來支援WCF和WF類型的應用。

Visual Studio 2008移動開發初體驗(一) Visual Studio 2008移動開發初體驗(一)

<shapetype id="_x0000_t75" stroked="f" filled="f" path="[email protected]@[email protected]@[email protected]@[email protected]@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="圖檔_x0020_1" style="VISIBILITY: visible; WIDTH: 415.5pt; HEIGHT: 266.25pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1030"><imagedata o:title="1" src="file:///C:%5CDOCUME~1%5CMaNing%5CLOCALS~1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image001.jpg"></imagedata></shape>

我們選擇的是Smart Device類型,在這個類型裡,隻能選擇Smart Device Project。在之後彈出的對話框中,我們可以看到不同類型的移動應用:裝置應用程式(Device Application)、類庫(Class Library, DLL)、指令行應用程式(Console Application)、控件類庫(Control Library)和空工程(Empty Project)。選擇程式類型後,我們還需要選擇目标平台(預設為Windows Mobile 5.0)和.NET CF版本,在下拉菜單中(如下圖紅色區域),我們可以選擇.NET CF 3.5和.NET CF 2.0。在VS 2008中并不支援.NET CF 1.0,這是一個頗具争議的決定,之前在微軟産品組的BLOG上也發起過投票。考慮到Windows Mobile 6.0的ROM中已經内置了.NET CF 2.0,這種決策似乎正确。不知道這個決定是否會引起開發者需要同時安裝VS 2005和VS 2008,在不同開發環境中維護相同代碼。

Visual Studio 2008移動開發初體驗(一) Visual Studio 2008移動開發初體驗(一)

<shape id="圖檔_x0020_2" style="VISIBILITY: visible; WIDTH: 414.75pt; HEIGHT: 300pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1029"><imagedata o:title="2" src="file:///C:%5CDOCUME~1%5CMaNing%5CLOCALS~1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image003.jpg"><font size="3"></font></imagedata></shape>

我們選擇.NET CF 3.5,然後點選OK,在進入VS 2008的IDE開發環境後,可以看到IDE改變并不大。VS 2008和VS 2005的使用習慣基本一緻。隻是有一些微小的差别:

Visual Studio 2008移動開發初體驗(一) Visual Studio 2008移動開發初體驗(一)

<shape id="圖檔_x0020_3" style="VISIBILITY: visible; WIDTH: 415.5pt; HEIGHT: 237.75pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1028"><imagedata o:title="3" src="file:///C:%5CDOCUME~1%5CMaNing%5CLOCALS~1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image005.jpg"><font size="3"></font></imagedata></shape>

比如在解決方案浏覽器中,右鍵點選工程項,選擇Add New Item選項,我們會發現VS 2008将項目進行了分類。不像VS 2005中将所有項目都放在一個頁面中,使開發者不好查找。

Visual Studio 2008移動開發初體驗(一) Visual Studio 2008移動開發初體驗(一)

在Project菜單中選擇Add Reference項,在彈出的對話框中,我們可以看到一些新的程式集,比如system.xml.linq,就是支援Linq的程式集。

<shape id="圖檔_x0020_4" style="VISIBILITY: visible; WIDTH: 5in; HEIGHT: 270pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1027"><imagedata o:title="4" src="file:///C:%5CDOCUME~1%5CMaNing%5CLOCALS~1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image007.jpg"><font size="3"></font></imagedata></shape>

我們不需要添加新的程式集,隻需要編譯程式之後,按F5進行部署。然後會彈出部署對話框,讓我們選擇目标模拟器,選擇“USA Windows Mobile 5.0 Pocket PC Emulator”。我習慣于将下方的CheckBox點掉,這樣以後部署中這個對話框就不再出現了。

Visual Studio 2008移動開發初體驗(一) Visual Studio 2008移動開發初體驗(一)

<shape id="圖檔_x0020_5" style="VISIBILITY: visible; WIDTH: 345pt; HEIGHT: 210pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1026"><imagedata o:title="5" src="file:///C:%5CDOCUME~1%5CMaNing%5CLOCALS~1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image008.jpg"><font size="3"></font></imagedata></shape>

程式運作的結果如下,看起來和VS 2005中的模拟器并沒有太大差別:

<shape id="圖檔_x0020_6" style="VISIBILITY: visible; WIDTH: 231.75pt; HEIGHT: 351.75pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1025"><imagedata o:title="6" src="file:///C:%5CDOCUME~1%5CMaNing%5CLOCALS~1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image009.jpg"></imagedata></shape>

Visual Studio 2008移動開發初體驗(一) Visual Studio 2008移動開發初體驗(一)

繼續閱讀