windows phone7—簡介

來源:互聯網
上載者:User
摘要

Windows Phone 7 是 Microsoft 推出的全新智能型手機作業系統,不但具有新穎的使用者介面,也支援整合當紅的社交網站與微網誌,內建搜尋功能,LBS (Location-Based Service) 適地性服務,視訊與音樂播放功能,先進而且具高度生產力的遊戲開發支援,以及多點觸控控制等等,是 Microsoft 逐鹿智能型手機巿場的重要先鋒。在這一篇文章中我們將要為大家介紹開發 Windows Phone 7 智能型手機應用程式的基本知識與相關工具,開啟開發 Windows Phone 7 應用程式的大門。

[環境安裝]

欲開發 Microsoft 最新的 Windows Phone 7 智能型手機應用程式,您必須先下載並安裝 Windows Phone Developer Tools 套件,再利用 Windows Phone Developer Tools 套件提供的 Visual Studio 2010 Express 進行開發 Windows Phone 7 智能型手機應用程式的工作,將開發妥的應用程式部署到 Windows Phone 模擬器進行測試,如果您想要開發智能型手機的遊戲程式,也可以利用 Microsoft Expression Blend for Windows Phone 或 XNA Game Studio 發展 2D 與 3D 的遊戲程式。請注意 Windows Phone Developer Tools 套件只能安裝在 Windows Vista SP2 或 Windows 7 電腦,而且皆不可以是簡易版 (Starter Edition)。除此之外,欲利用 Windows Phone Developer Tools 套件提供的 XNA Game Studio 4.0 發展遊戲程式的程式設計師請特別注意,Windows Phone Developer Tools 套件不支援安裝在任何的虛擬機器上,同時電腦配備的顯示適配器必須符合 DirectX 10 版定義的規格,並配備 WDDM 1.1 版的驅動程式。

Windows Phone 7 的硬體支援

Windows Phone 7 的硬體在很多地方都有別於之前的系統,包括 800 x 480 或 480 x 320 螢幕解析度,支援多點觸控,內建 A-GPS 衛星定位系統 (反應速度更快的衛星定位系統),G-Sensor (Accelerometer),電子羅盤感應器,光源感應器,以及不需要直接接觸就可以偵測到附近物體的 Proximity Sensor。

Windows Phone 7 智能型手機支援最少 500 萬畫素的數位相機,內建 Codec 與多媒體影音播放功能,最少 256MB 的 RAM 與最少 8GB 的快閃記憶體,GPU (圖形處理器),ARMv7 Cortex/Scorpion 或更佳的處理器,以及 Back、Start、Search 三個硬體按鍵。

Windows Phone 7 的軟體支援

Microsoft 最新推出的 Windows Phone 7 智能型手機主要的要求對象不止是一般的普羅福士,還包括為數眾多的企業使用者,所以在軟體支援方面加入了對雲端服務的支援。圖1所示即為 Windows Phone 7 的軟體支援,上方顯示的是 Runtime 和工具,下方顯示的是雲端相關的服務,兩者構成開發 Windows Phone 7 應用程式的支援,以及應用程式執行時期的支援。

圖1:Windows Phone 7 的軟體支援

從圖1 可以看出,開發 Windows Phone 7 應用程式的主要工具除了可以依靠傳統的 Visual Studio 2010 Express for Windows Phone 以外,還可以利用 Expression Blend for Windows Phone,不管使用的是那一種工具,都支援將開發妥的應用程式部署到具模擬 GPU (圖形處理器 - Graphic Processing Unit) 能力的 Windows Phone 7 模擬器進行測試。

使用 Visual Studio 2010 Express for Windows Phone 可以開發以 Silverlight Framework 為基礎的應用程式,也可以開發以 XNA Framework 為基礎的應用程式,而且支援應用程式偵錯與封裝。使用 Expression Blend for Windows Phone 只能開發以 Silverlight Framework 為基礎的應用程式,允許 Silverlight 應用程式設計師以熟知的程式開發經驗開發 Windows Phone 7 應用程式。

除了 Visual Studio 2010 Express for Windows Phone 與 Expression Blend for Windows Phone 以外,欲開發 Windows Phone 7 遊戲程式的程式設計師還可以利用 XNA Game Studio 4.0 設計可以適用於 Microsoft Windows、Microsoft Xbox 360、Microsoft Zune、與 Windows Phone 7 的遊戲程式。透過 XNA Game Studio 的協助,Visual Studio 2010 Express for Windows Phone 就可以利用 XNA Framework 進行開發遊戲程式的工作。當然,Microsoft 在提供開發 Windows Phone 7 應用程式的工具的同時,也提供了相關的說明檔案,教學檔案,論壇,部落格,技術網站,以及豐富的範常式序,協助程式設計師解決開發 Windows Phone 7 應用程式的種種問題。

在支援 Windows Phone 7 應用程式開發的 Framework 方面,Windows Phone 7 提供了兩種 Framework,分別是 Silverlight Framework 與 XNA Framework。Silverlight Framework 是以 XAML 檔案為基礎的應用程式設計概念,透過事件驅動機制的協助,提供與開發 Windows 應用程式和 Silverlight 應用程式相同的程式開發體驗。XNA Framework 主要的目的則是用來支援以迴圈為基礎的遊戲程式,意即利用迴圈不斷地更新畫面顯示的內容,顯示流暢的遊戲效果。

Silverlight Framework 和 XNA Framework 都是架構在 NET 平台上的應用程式開發架構,能夠有效率地協助程式設計師發展安全的智能型手機應用程式,而且程式設計師只要稍微修改現有的 Silverlight 應用程式或 XNA 應用程式,例如修改螢幕的高度和寬度,並加入智能型手機特有的感應器相關的功能,就可以將 Silverlight 應用程式或 XNA 應用程式移植到 Windows Phone 7 上執行。

使用 Silverlight Framework 來開發 Windows Phone 7 應用程式類似設計 Silverlight 應用程式,以 Silverlight Framework 為基礎的 Windows Phone 7 應用程式是由一堆的 Page (繼承自 PhoneApplicationPage 類別的衍生類別) 組成的,每一個 Page 是一個副檔名為 .XAML 的檔案,代表一個操作畫面,程式設計師可以利用 Visual Studio 2010 Express for Windows Phone 或是 Expression Blend for Windows Phone 來設計 Page 的使用者介面。XNA Framework 和 Silverlight Framework 不一樣的地方在於 XNA Framework 主要的用途在支援開發遊戲程式,提供 2D/3D 的動畫,音效,及各種遊戲相關的功能,協助有志於開發遊戲程式的企業或個人發展 Windows Phone、Xbox 360、Zune 播放器、以及 Windows 7 平台的遊戲程式。

在支援應用程式開發方面,程式設計師可以利用 Framework 提供的功能控制 Windows Phone 7 的多點觸控螢幕,感應器,音效裝置,以及麥克風等硬體,或是播放聲音與影片。

在檔案處理方面 Windows Phone 7 應用程式只能存取位於隔離儲存區 (Isolated Storage) 中的檔案,無法存取隔離儲存區以外的任何檔案,避免惡意軟體危害到其他應用程式或 Windows Phone 7 本身的運作。

Windows Phone 7 支援的 Location 功能可以和雲端服務提供的 Location 服務整合,協助應用程式查詢裝置的實際位置,在裝置位置改變時得到通知,判斷裝置移動的方向和速度,或是計算兩點之間的距離。

支援上述種種功能的底層是一組功能完整的 Framework,2 所示,位於最底層的 Common Base Class Library 提供了 Microsoft .NET 平台的準系統,也是 Silverlight Framework 與 XNA Framework 的基礎。

圖2:支援開發 Windows Phone 7 應用程式的 Framework

除了內建在 Windows Phone 7 智能型手機的 Framework 以外,Windows Phone 7 應用程式也可以使用到網際網路的雲端服務,包括 Windows Azure、Xbox LIVE 服務、Notification 服務、Location 服務、以及其他各種第三方提供的 Web 服務和 WCF 服務,甚至是 REST 服務 (Representational State Transfer) 等先進的技術,為 Windows Phone 7 應用程式提供更豐富的功能支援。透過雲端服務的協助,能夠讓使用者在使用不同的電腦裝置時都可以存取到共同的資料,享受相同的服務,是支援發展新一代的行動運算解決方案的重要基礎。

透過雲端服務的協助,程式設計師不但能夠使用到超越 Windows Phone 7 本身內建的功能以外的更多功能,而且雲端服務是 24 小時不間斷的服務,不會因為智能型手機的電池電力耗盡而無法取得服務。

[說明]

Xbox Live 是由微軟公司所開發的多使用者線上遊戲與數位媒體配送服務平台,最初是 2002 年 11 月為 Xbox 遊戲機平台推出的服務,之後更新成可以支援 Xbox 360 平台,Microsoft Zune 可攜式媒體播放器,與 Microsoft Windows 平台,最新的版本已經可以支援 Windows Phone 7 智能型手機。透過 Xbox Live 服務的協助,使用者不管使用的是個人電腦,Xbox/Xbox 360 遊戲機,Zune 播放器,或是 Windows Phone 智能型手機,都可以利用相同的操作介面方便地取用共用的資訊和服務。從發展應用程式的角度來看,Xbox Live 也是支援發展跨越多種平台與裝置的遊戲程式的重要服務。

Microsoft 提供的雲端服務中,Notification 服務能夠協助 Windows Phone 7 應用程式以訂閱的方式收到欲處理的事件,節省定時詢問特定的資料或狀態耗費的電力。Location 服務能夠利用 Wi-Fi、Cellular、和 GPS 等資料,為 Windows Phone 7 應用程式提供定位相關的功能。另外,Identity 服務能夠提供身分識別驗證功能,Feed 服務能夠提供資料喂入服務,Social 服務能夠提供社群服務,而 Map 服務則可以提供地圖與導覽服務。

Windows Phone 7 應用程式開發完成後,程式設計師可以利用 Portal 服務將開發好的應用程式發布到手機線上軟體商店 (即 Marketplace),讓使用者購買和使用。

在上傳 Windows Phone 7 應用程式到手機線上軟體商店之前,您必須先使用 Windows Live 帳號登入到手機線上軟體商店並進入註冊,註冊完成後就可以利用 Portal 服務提供的功能將開發好的應用程式上傳到線上軟體商店。程式設計師必須將欲上傳的應用程式準備成 .xap 格式的壓縮檔再進行上傳,上傳成功之後可以查詢應用程式的認證狀態,並在應用程式通過 Portal 服務的認證之後收到認證信。通過認證的應用程式將會以程式設計師訂立販賣價格發布到線上軟體商店供使用者購買和下載。如果程式設計師修正應用程式的錯誤,為應用程式添加新功能,或是另外開發新的應用程式,都需要重複相同的應用程式認證程式,才能將新的應用程式或是修改過的應用程式發布到線上軟體商店。

線上軟體商店除了能夠提供者設計師進行應用程式的銷售以外,還有提供 Trial API,協助程式設計師開發試用版的應用程式供使用者下載試用。除此之外,線上軟體商店也提供完整的銷售報告,使用者的回饋意見,使用者對應用程式的使用意見,或是使用者反應的應用程式錯誤等重要訊息,供程式設計師參考。

Silverlight Framework vs XNA Framework

瞭解了 Windows Phone 7 的硬體支援和軟體支援之後,在建立 Windows Phone 7 應用程式項目的時候,程式設計師必須面對選取 Silverlight Framework 或選取 XNA Framework 做為應用程式開發基礎的抉擇。從圖3 所示的 Framework 架構功能圖可以看出,Silverlight Framework 與 XNA Framework 的底層是一組共同的服務,提供感應器相關的功能,Location 功能,Live 服務功能,網路通訊功能,XNA 的音效 API,以及 XNA 的媒體 API,而位於這一組共用服務底下的則是 .NET Compact Framework,由 .NET Compact Framework 提供基礎程式開發協助,包括資料型態,XML 檔案處理,LINQ 語言整合查詢,Isolated Storage 隔離儲存區,WCF 服務,與序列化等功能。

圖3:Silverlight Framework 與 XNA Framework 的架構與功能

從圖3 可以看出 Silverlight Framework 和 XNA Framework 具有相同的本質,差別在於 Silverlight Framework 和 XNA Framework 支援的是不同類型的應用程式。Silverlight Framework 支援開發一般的 Windows Phone 7 應用程式,提供者設計師設計應用程式需要的控制項以及顯示功能,當然也支援動畫功能供應用程式使用,而 XNA Framework 主要的用途是支援程式設計師設計遊戲相關的程式,包括畫面連續更新顯示的協助,Content Pipeline 遊戲內容處理功能,以及 2D/3D 的圖形顯示。

[說明]

XNA Framework 的 Content Pipeline 是一種製作遊戲內容 (包括 Texture、Sprite、Mesh、Effect、Font、Music、音效、Level 設定、和角色的特質)的功能,協助程式設計師在遊戲設計的階段準備遊戲程式執行時期需要用到的所有遊戲內容,避免遊戲程式執行的時候為了將各種不同的資料格式轉換成遊戲支援的內容格式而影響遊戲執行的速度。

圖4 所示即為 XNA 的 Content Pipeline 功能處理遊戲內容的過程:

圖4:XNA Content Pipeline 功能處理遊戲內容的過程

由圖4 的內容可以看出,不同格式的遊戲內容格式經由 Importer 匯入之後,會轉換成 Content DOM (Document Object Model) 能夠表示的對象格式,也就是 Processor 能夠處理的格式,Content DOM 表示的對象經由 Processor 處理之後,透過 Content Compiler 編譯成 .XNB (XNA Binary File 的縮寫) 格式的內容,以便被 Windows、Xbox 360、或 Windows Phone 7 平台中執行的遊戲載入使用。

[結語]

Windows Phone 7 是 Microsoft 推出的全新智能型手機作業系統,不但具有新穎的使用者介面,也支援整合當紅的社交網站與微網誌,內建搜尋功能,LBS (Location-Based Service) 適地性服務,視訊與音樂播放功能,先進而且具高度生產力的遊戲開發支援,以及多點觸控控制等等,是 Microsoft 逐鹿智能型手機巿場的重要先鋒。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.