雙重驚喜:Windows Phone 開發者工具初體驗

作者: 馬寧  來源: 博客園  發布時間: 2010-03-16 15:31  閱讀: 3487 次  推薦: 0   原文鏈接   [收藏]  

  作者 馬寧

  俗話說,物極必反,Windows Phone就像中國足球隊一樣,在所有人對他失去信心的時候,突然靈魂附體、RP爆發,干掉了韓國隊。當然,就像東亞四強賽說明不了問題一樣,MIX 2010上炫目的Demos只是過眼煙云,真正考驗實力的還是幾個月后世界杯的戰場。

  不過MIX 2010上的Demos的確給了曾經的Windows Mobile開發者們帶來了一絲希望,最近一年,滿世界都是iPhone和Android,咱不是不想說話,實在是沒話可說啊。

  MIX 2010 Keynote視頻:

  http://www.microsoft.com/presspass/events/mix/videoGallery.aspx

  Windows Phone開發工具也可以在MSDN上下載了,下載地址:

  http://www.microsoft.com/downloads/details.aspx?FamilyID=2338b5d1-79d8-46af-b828-380b0f854203&displaylang=en

  這里邊已經包含了Visual Studio 2010 Express for Windows Phone, Windows Phone模擬器,Silverlight for Windows Phone和XNA 4.0 Game Studio。只要安裝這一個文件就可以了,不用滿世界亂找了,不過是在線安裝,網絡不快的同志們要淡定。

  Windows Phone開發工具只能和VS 2010 RC版本一起使用,我安裝了Visual Studio 2010 Premium版本,能夠正確創建Windows Phone工程。

  MSDN上關于Windows Phone開發的章節:

  http://msdn.microsoft.com/en-us/library/ff402535(VS.92).aspx

  打開VS 2010后,我的感覺喜憂參半,喜的是Windows Phone提供了兩種不同的開發平臺:Silverlight for Windows Phone和XNA 4.0,憂的是,以前Windows Mobile的C++和.NET Compact Framework都用不上了。所以,以前的Windows Mobile程序員也要經歷一個痛苦的轉型過程。

  接下來,我們就看看Windows Phone帶來的雙重驚喜吧!

  Silverlight for Windows Phone

  Silverlight for Windows Phone險些淪為一個笑話,Windows Mobile程序員在抱怨,Symbian上的Silverlight都出來了,Windows Mobile上的Silverlight在哪里?這次,Silverlight for Windows Phone來了,而且所有Windows Phone上的應用必須用Silverlight來寫。

  在程序菜單的XNA Game Studio 4.0下打開VS 2010,創建一個新工程,在Visual C#下找到三個模板,選擇”Windows Phone Application”。

silverlight1

  不知道Phone List Application是啥,看起來Windows Phone的界面會以List為主了。點擊OK后,會直接進入IDE的主界面:

silverligh2

  似曾相識,左邊是工具欄,可以拖拽控件到UI設計器上,與XAML界面對應。我拖拽了一個Button和一個TextBox上去。雙擊Button,進入了代碼編輯器。

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);
        }
    }
}

  請原諒我的沒創意,Hello World靈魂附體!必須承認,Windows Phone開發工具的設計者用最大的誠意保留了.NET CF WinForm開發的痕跡,至少讓我們用起來不是那么別扭。

  編輯完成后,直接按F5,Windows Phone Emulator會被啟動。整個過程沒有任何拖泥帶水,這是我感覺最好的一件事。當初配Android模擬器時那一大堆選項,讓我實在有些不爽。

  我的程序運行起來就是下面這個樣子。MessageBox彈出來后,會有一個大大的Error標題,看起來MessageBox在Windows Phone里主要是用來顯示錯誤的。另外就是輸入法,帶有明顯iPhone的痕跡,不過對電容屏的支持看來不是問題了。

  我還沒有仔細看Windows Phone Emulator的實現機制,不過從啟動速度來看,絕對不是把整個Windows Phone放在模擬器里執行了。原來Windows Device Emulator那個基于三星2410的小身板估計也跑不起來。反正也是Managed Code,估計又是JIT編譯那套。恍惚間,仿佛回到了Pocket PC 2002的年代。

wphone

  Windows Phone新界面

  既然把Windows Phone Emulator起來了,我們就順便參觀下Windows Phone的新界面吧。點左邊的Back鍵,會將應用程序的Debugger斷掉,不知道程序是否退出了。點中間的Win Button,會回到主界面。不過主界面上只有IE一個圖標。

  旁邊一位同事看了后,脫口而出:“這不是Zune嗎?”嗯……

clip_image008 clip_image010 clip_image012

  IE的用戶體驗非常好,一開始新手發蒙,沒找到地址欄,后邊就非常順利了。無論是頁面縮放時的平滑動畫,還是輸入時切換到適當大小的設計,都非常順手。特別是Multi-Tab的設計,感覺非常舒服。特意試了Google Map,顯示一切正常。

  哦,還有一點,我在Windows Phone Emulator里沒有做任何配置,就可以上網了。

  XNA 4.0

  可能移動開發者不熟悉XNA的名字,但是在游戲開發界,Xbox 360上的XNA則是大名鼎鼎。如今,Windows Phone一上來支持的就是XNA 4.0,與Zune HD上的XNA 3.1有啥區別?支持3D游戲!

  目前我們看到的這個XNA 4.0預覽版只支持Windows Phone開發,不支持Windows和Xbox 360的游戲開發(根本沒Zune HD什么事……始亂終棄?)。

  不那么多廢話了,創建個XNA 4.0的新工程吧!

xna1

  選擇Windows Phone Game就好了。IDE環境下沒有界面編輯器,需要程序員通過代碼來實現UI,在這里我就不寫代碼了。默認程序運行起來是一個空白的窗體。就讓它空著吧。未來,我們還要在這里寫很多東西……

clip_image016

  寫在最后

  趁著中午的功夫,匆忙地試了一下Windows Phone 開發工具,匆匆寫下此文。心中最多的還是感慨,我們不應該將Windows Phone視作Windows Mobile的升級了,這是一個全新的手機操作系統。Windows Phone的功能可能沒有Windows Mobile豐富,但是他贏得喝彩,靠的只有四個字——用戶體驗。

  鳳凰涅磐,Windows Phone的路還很長,但是我們這些緊緊追隨的開發者們,要得不就是對未來的一絲憧憬嗎。

0
0
 
標簽:WP7
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()