- 類型:WM|WP7平臺(tái)大小:1.5M語(yǔ)言:中文 評(píng)分:3.6
- 標(biāo)簽:
俗話說(shuō),物極必反,Windows Phone就像中國(guó)足球隊(duì)一樣,在所有人對(duì)他失去信心的時(shí)候,突然靈魂附體、RP爆發(fā),干掉了韓國(guó)隊(duì)。當(dāng)然,就像東亞四強(qiáng)賽說(shuō)明不了問(wèn)題一樣,MIX 2010上炫目的Demos只是過(guò)眼煙云,真正考驗(yàn)實(shí)力的還是幾個(gè)月后世界杯的戰(zhàn)場(chǎng)。
不過(guò)MIX 2010上的Demos的確給了曾經(jīng)的Windows Mobile開發(fā)者們帶來(lái)了一絲希望,最近一年,滿世界都是iPhone和Android,咱不是不想說(shuō)話,實(shí)在是沒(méi)話可說(shuō)啊。MIX 2010 Keynote視頻:
http://www.microsoft.com/presspass/events/mix/videoGallery.aspx
Windows Phone開發(fā)工具也可以在MSDN上下載了,下載地址:
這里邊已經(jīng)包含了Visual Studio 2010 Express for Windows Phone, Windows Phone模擬器, Silverlight for Windows Phone和XNA 4.0 Game Studio。只要安裝這一個(gè)文件就可以了,不用滿世界亂找了,不過(guò)是在線安裝,網(wǎng)絡(luò)不快的同志們要淡定。
Windows Phone開發(fā)工具只能和VS 2010 RC版本一起使用,我安裝了Visual Studio 2010 Premium版本,能夠正確創(chuàng)建Windows Phone工程。
MSDN上關(guān)于Windows Phone開發(fā)的章節(jié):
http://msdn.microsoft.com/en-us/library/ff402535(VS.92).aspx
打開VS 2010后,我的感覺喜憂參半,喜的是Windows Phone提供了兩種不同的開發(fā)平臺(tái):Silverlight for Windows Phone和XNA 4.0,憂的是,以前Windows Mobile的C++和.NET Compact Framework都用不上了。所以,以前的Windows Mobile程序員也要經(jīng)歷一個(gè)痛苦的轉(zhuǎn)型過(guò)程。
接下來(lái),我們就看看Windows Phone帶來(lái)的雙重驚喜吧!
Silverlight for Windows Phone
Silverlight for Windows Phone險(xiǎn)些淪為一個(gè)笑話,Windows Mobile程序員在抱怨,Symbian上的Silverlight都出來(lái)了,Windows Mobile上的Silverlight在哪里?這次,Silverlight for Windows Phone來(lái)了,而且所有Windows Phone上的應(yīng)用必須用Silverlight來(lái)寫。
在程序菜單的XNA Game Studio 4.0下打開VS 2010,創(chuàng)建一個(gè)新工程,在Visual C#下找到三個(gè)模板,選擇”Windows Phone Application”。
不知道Phone List Application是啥,看起來(lái)Windows Phone的界面會(huì)以List為主了。點(diǎn)擊OK后,會(huì)直接進(jìn)入IDE的主界面:
似曾相識(shí),左邊是工具欄,可以拖拽控件到UI設(shè)計(jì)器上,與XAML界面對(duì)應(yīng)。我拖拽了一個(gè)Button和一個(gè)TextBox上去。雙擊Button,進(jìn)入了代碼編輯器。
namespace WindowsPhoneApplication1
{
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
SupportedOrientations = SupportedPageOrientation.Portrait | SupportedPageOrientation.Landscape;
}
private void button1_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Hello, Windows Phone," + textBox1.Text);
}
}
}
請(qǐng)?jiān)徫业臎](méi)創(chuàng)意,Hello World靈魂附體!必須承認(rèn),Windows Phone開發(fā)工具的設(shè)計(jì)者用最大的誠(chéng)意保留了.NET CF WinForm開發(fā)的痕跡,至少讓我們用起來(lái)不是那么別扭。
編輯完成后,直接按F5,Windows Phone Emulator會(huì)被啟動(dòng)。整個(gè)過(guò)程沒(méi)有任何拖泥帶水,這是我感覺最好的一件事。當(dāng)初配Android模擬器時(shí)那一大堆選項(xiàng),讓我實(shí)在有些不爽。
我的程序運(yùn)行起來(lái)就是下面這個(gè)樣子。MessageBox彈出來(lái)后,會(huì)有一個(gè)大大的Error標(biāo)題,看起來(lái)MessageBox在Windows Phone里主要是用來(lái)顯示錯(cuò)誤的。另外就是輸入法,帶有明顯iPhone的痕跡,不過(guò)對(duì)電容屏的支持看來(lái)不是問(wèn)題了。
我還沒(méi)有仔細(xì)看Windows Phone Emulator的實(shí)現(xiàn)機(jī)制,不過(guò)從啟動(dòng)速度來(lái)看,絕對(duì)不是把整個(gè)Windows Phone放在模擬器里執(zhí)行了。原來(lái)Windows Device Emulator那個(gè)基于三星2410的小身板估計(jì)也跑不起來(lái)。反正也是Managed Code,估計(jì)又是JIT編譯那套;秀遍g,仿佛回到了Pocket PC 2002的年代。
Windows Phone新界面
既然把Windows Phone Emulator起來(lái)了,我們就順便參觀下Windows Phone的新界面吧。點(diǎn)左邊的Back鍵,會(huì)將應(yīng)用程序的Debugger斷掉,不知道程序是否退出了。點(diǎn)中間的Win Button,會(huì)回到主界面。不過(guò)主界面上只有IE一個(gè)圖標(biāo)。
旁邊一位同事看了后,脫口而出:“這不是Zune嗎?”嗯……
IE的用戶體驗(yàn)非常好,一開始新手發(fā)蒙,沒(méi)找到地址欄,后邊就非常順利了。無(wú)論是頁(yè)面縮放時(shí)的平滑動(dòng)畫,還是輸入時(shí)切換到適當(dāng)大小的設(shè)計(jì),都非常順手。特別是Multi-Tab的設(shè)計(jì),感覺非常舒服。特意試了Google Map,顯示一切正常。
哦,還有一點(diǎn),我在Windows Phone Emulator里沒(méi)有做任何配置,就可以上網(wǎng)了。
XNA 4.0
可能移動(dòng)開發(fā)者不熟悉XNA的名字,但是在游戲開發(fā)界,Xbox 360上的XNA則是大名鼎鼎。如今,Windows Phone一上來(lái)支持的就是XNA 4.0,與Zune HD上的XNA 3.1有啥區(qū)別?支持3D游戲!
目前我們看到的這個(gè)XNA 4.0預(yù)覽版只支持Windows Phone開發(fā),不支持Windows和Xbox 360的游戲開發(fā)(根本沒(méi)Zune HD什么事……始亂終棄?)。
不那么多廢話了,創(chuàng)建個(gè)XNA 4.0的新工程吧!
選擇Windows Phone Game就好了。IDE環(huán)境下沒(méi)有界面編輯器,需要程序員通過(guò)代碼來(lái)實(shí)現(xiàn)UI,在這里我就不寫代碼了。默認(rèn)程序運(yùn)行起來(lái)是一個(gè)空白的窗體。就讓它空著吧。未來(lái),我們還要在這里寫很多東西……
寫在最后
趁著中午的功夫,匆忙地試了一下Windows Phone 開發(fā)工具,匆匆寫下此文。心中最多的還是感慨,我們不應(yīng)該將Windows Phone視作Windows Mobile的升級(jí)了,這是一個(gè)全新的手機(jī)操作系統(tǒng)。Windows Phone的功能可能沒(méi)有Windows Mobile豐富,但是他贏得喝彩,靠的只有四個(gè)字——用戶體驗(yàn)。
鳳凰涅磐,Windows Phone的路還很長(zhǎng),但是我們這些緊緊追隨的開發(fā)者們,要得不就是對(duì)未來(lái)的一絲憧憬嗎。