天天看點

【轉載作者馬甯】Windows Phone 開發者工具初體驗

 俗話說,物極必反,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://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帶來的雙重驚喜吧!

【轉載作者馬甯】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”。

【轉載作者馬甯】Windows Phone 開發者工具初體驗

不知道Phone List Application是啥,看起來Windows Phone的界面會以List為主了。點選OK後,會直接進入IDE的主界面:似曾相識,左邊是工具欄,可以拖拽控件到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的年代。Windows Phone新界面

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

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

【轉載作者馬甯】Windows Phone 開發者工具初體驗
【轉載作者馬甯】Windows Phone 開發者工具初體驗

  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的新工程吧! 選擇Windows Phone Game就好了。IDE環境下沒有界面編輯器,需要程式員通過代碼來實作UI,在這裡我就不寫代碼了。預設程式運作起來是一個空白的窗體。就讓它空着吧。未來,我們還要在這裡寫很多東西……

【轉載作者馬甯】Windows Phone 開發者工具初體驗

 寫在最後

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

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

繼續閱讀