Windows Phone 學習筆記 (1) - 概念

  • 2890
  • 0

摘要:Windows Phone 學習筆記 (1) - 概念

Photo by blogsdna.com

(本文於 http://blog.tonycube.com 同步發表)

§ 使用的程式語言

官方說VB.NET不支援XNA,所以建議還是以C#為主比較好。

§ 開發框架 ( framework )

開發框架分為兩個,一個偏功能型應用程式,一個偏遊戲程式,如下:

  • Silverlight:適合事件驅動(event-driven)的應用程式開發,使用XAML設計UI介面。
  • XNA:適合迴圈基礎的遊戲(loop-based game)程式開發,提供專門為遊戲及多媒體處理的函式庫。
 
(Photo by MSDN)

怎麼選擇開發框架,查了一下微軟官方的說明,可以依需求擇一或混用,規則如下: 使用Silverlight的時機:

  • 想要開發一款以XAML為基礎,事件驅動的應用程式
  • 想要快速建立RIA(Rich Internet Application)式的使用者介面
  • 想要使用Windows Phone controls(控制項)
  • 想要嵌入video到應用程式中
  • 想要使用web browser control(網頁瀏覽器控制項)

使用XNA的時機:

  • 想要一個高性能(high-performance)的遊戲框架
  • 想要快速建立一個多個畫面的2D及3D遊戲
  • 想要管理組件(assets),像是models、meshes、sprites、textures、effects、terrains或是在XNA中的一連串的動畫。

混用的時機:

  • 想要使用XAML-based、事件驅動並整合高性能的遊戲框架的應用程式
  • 想要建立一個多畫面的2D或3D遊戲並組合RIA式的使用介面。
  • 想要使用由美術組件建立的控制項
  • 想要使用Silverlight的文字描圖(text rendering)
  • 想要建立頁面導覽式的Silverlight應用程式並結合XNA的強大繪圖能力

官方說明有點複雜,簡單來說,如果是寫功能型的應用程式App就用Silverlight,因為它能夠使用XAML來設計UI及事件驅動,較易開發;若是遊戲型的App就一定使用XNA。  

§ 開發工具

※SDK Windows Phone SDK 7.1包含

  • Visual Studio 2010 Express(寫程式用的IDE)
  • Windows Phone Emulator(模擬器)
  • SDK(Windows Phone、Silverlight、XNA)
  • Expression Blend(設計UI的視覺化工具)
  • XNA Game Studio
  • Windows Phone Developer Registration:在開發階段的應用程式,如果要安裝到實體手機,必須先執行「開發者解鎖」,才能安裝尚未發佈到市集上的應用程式。只有註用為 AppHub開發者的帳號才能將手機解鎖,而且一個帳號只能解鎖3支手機。
  • Application Deployment:協助開發人員將已封裝成xap檔的應用程式安裝至實體手機,當然該手機必須已經完成「開發者解鎖」。

※ToolKit Windows Phone Toolkit可以增加Windows Phone SDK原本所沒有的功能,很實用。  ※開發語言 官方網站的說明是以C#為主,VB的部份只支援Silverlight型的應用程式,不支援XNA型的應用程式。  

§ 裝置硬體

  • 目前WP7只有一個螢幕解析度,為 WVGA (800 * 480),這在開發上尤其是遊戲會輕鬆許多。
  • 規定內的最小記憶體為256MB。
  • 硬體按鍵有3個,分別為返回、首頁及搜尋。
  • 其他硬體設備則視各家廠商而可能有所不同。

 

§ 應用市集

必須先註冊AppHub開發者帳號,才能解鎖實體手機並上架應用程式到市集。 上架前需先使用Windows Phone Marketplace Test Kit來檢查應用程式是否符合上架規定。 另外,就我遇到的狀況,當你設計App時,必須記得把系統的預設背景色(有black及white兩種)都測試過,確定文字不會因為任何一種背景色而無法閱讀,不然送審會無法通過。還有就是上傳時的設定,請確定你的上傳國家只設為台灣,若有要上傳其他地區的,在App裡必須加上該地區的資源檔。  

§ 準備開始

Windows Phone首頁下載SDK。 要學習 Windows Phone 開發,個人建議要先具備的知識:

  1. Visual Studio IDE的操作使用
  2. 熟悉C#
  3. 知道如何閱讀MSDN的API文件
  4. 瞭解基本的XML
  5. 知道如何善用Google

 

§ 學習資源

把以上這些學習資源看過一遍並動手做,基本功就差不多了,接下來實戰去開發,並且擅用Google去找解法方法,多看多做,完成Windows Phone App就不是難事。