Windows Phone開發工具初體驗【轉載】

Windows Phone開發工具在MIX 2010上火熱登場了。Windows Mobile開發者們壓抑許久的熱情終於爆發出來,對於Windows Phone的華麗轉身,開發者們褒貶不一,有人對Silverlight XNA等新技術充滿期待,有人對放棄之前版本兼容性、不支持C++開發滿腹怨言。程序員

不管如何,Windows Phone爲咱們帶來了新的用戶體驗、新的開發工具,總比讓開發者守着Windows Mobile的老面孔,一塊兒慢慢變老,要好吧?下面,就讓咱們看看Windows Phone開發工具會爲開發者們帶來哪些驚喜,呃,或者驚訝。web

Windows Phone開發工具的社區預覽版(CTP)能夠在MSDN上下載。其中包括Visual Studio 2010 Express for Windows Phone, Windows Phone模擬器, Silverlight for Windows PhoneXNA 4.0 Game Studio。目前,Windows Phone開發工具只能安裝在Windows 7Vista SP2上,還須要顯卡支持DirectX 10瀏覽器

打開VS 2010後,個人感受喜憂參半,喜的是Windows Phone提供了兩種不一樣的開發平臺:Silverlight for Windows PhoneXNA 4.0,憂的是,之前Windows MobileC++.NET Compact Framework都用不上了。因此,之前的Windows Mobile程序員也要經歷一個痛苦的轉型過程。ide

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

Silverlight for Windows Phone

Silverlight for Windows Phone險些淪爲一個笑話,Windows Mobile程序員在抱怨,Symbian上的Silverlight都出來了,Windows Mobile上的Silverlight在哪裏?此次,Silverlight for Windows Phone來了,並且全部Windows Phone上的應用必須用Silverlight來寫。開發工具

Silverlight最大的優點在於與Expression Blend的無縫整合,能夠快速設計出很是漂亮的用戶界面,將程序員從繁瑣的UI開發中解放出來。並且Silverlight for Windows Phone再也不是Silverlight的子集,而是支持Silverlight的所有功能。這樣的好處是,已有的Silverlight程序很容易移植到Windows Phone手機上。網站

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

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

 

似曾相識,左邊是工具欄,能夠拖拽控件到UI設計器上,與XAML界面對應。根據示例程序,我準備編寫一個瀏覽器和媒體播放器,首先是從Toolbox中將MediaElementWebBrowser控件拖拽到UI設計器上。3d

 

爲了播放多媒體文件,咱們還要在Solution Explorer裏將wmv文件添加到工程裏。作法和Windows Mobile工程一致,選擇Content類型,wmv文件會和工程一塊兒發佈。

接下來就是編寫代碼了。MediaElement組件須要設置Source屬性,而後調用Play方法。而WebBrowser選擇Navigate方法來訪問指定網站。

 private void button1_Click(object sender, RoutedEventArgs e)
        {
            textBlockListTitle.Text = textBox1.Text;
 
            if (Convert.ToBoolean(checkBox1.IsChecked))
            {
                webBrowser1.Visibility = Visibility.Collapsed;
                mediaElement1.Visibility = Visibility.Visible;
                // play Video
                mediaElement1.Source = new Uri("Wildlife.wmv", UriKind.Relative);
                mediaElement1.Position = TimeSpan.FromMilliseconds(0);
                mediaElement1.Play();
            }
            else
            {
                mediaElement1.Visibility = Visibility.Collapsed;
                webBrowser1.Visibility = Visibility.Visible;
 
                // Browser
                webBrowser1.Navigate(new Uri(textBox1.Text, UriKind.Absolute));
            }
        }
 

代碼編輯完成後,選擇Windows Phone Emulator做爲目標設備。直接按F5Windows Phone Emulator會被啓動。

Silverlight for Windows Phone類庫中增長了不少Phone獨有的功能。Microsoft.Phone的命名空間下,包括Phone、電話本、電子郵件、CameraBing地圖、Marketplace、瀏覽器和搜索等功能。Microsoft.Device.Sensors中包括各類各樣的傳感器,其中包括重力感應。Silverlight中還包括了LocationPush Notification等獨有功能。

個人程序運行起來就是下面這個樣子。程序帶有強烈的Zune風格,不但有標題,並且還有明顯的Block List Title。另外就是輸入法,帶有明顯iPhone的痕跡,不過對電容屏的支持看來不是問題了。

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

相關文章
相關標籤/搜索