2010年10月23日 星期六

WP7應用程式撰寫與App Hub - Marketplace 送件、審核經驗分享

我想大夥應該都不意外,很久沒更新Blog, 但卻看到我在FaceBook或Plurk上還健在,就表示最近真的很忙,忙什麼呢? 不難猜得出來,就是Windows Phone 7應用程式的開發。

可能很多人都已經知道,從10/11號微軟CEO Steve Ballmer親自上陣的Windows Phone 7發表會之後,數款由HTC, Dell, Samsung所生產的Windows Phone手機就要正式上市了,最快可能下個月,你就可以在通路上(或透過管道)買到手機。

當然這個階段的手機是多國語言的英文版,但對於中文的顯示絲毫不受影響,前陣子有幸試用了HTC 7 Mozart 一段時間,整體來說,看過的朋友(我自己就更不用說了)都相當滿意。WM6.5就不提了,與iPhone比較起來,操控感與流暢性毫不遜色。

但由於是英文機,整個操作介面目前當然都是英文的,但安裝了我們自己撰寫的中文應用程式之後,感覺也沒那麼生硬了。(這一篇po文暫且不談開發過程、流程與應用程式背後的意義,有興趣可參考下個月2010/11月號的Run!PC特別報導)

最近會一直很忙,是因為一直到今天,總算勉強算是走過整段軟體開發與送件(到Marketplace)的流程。類似App Store,在WP7上開發應用程式並且讓使用者可以下載使用的過程和過去WP6.5不太相同。

首先,你必須上App Hub用你既有的Windows Live ID(MSN帳號)建立一個App Hub帳號(如果不是學生,那你需要付費USD$99),且建立帳號後需要審核,強烈建議你如果申請個人帳號,請在一開始申請時填的名字就填和你的護照上一樣, 避免後續查驗時發生問題, 流程可參考這裡(中文版),然後你會收到一封來自GeoTrust的要求認證信件,你必須回這封信件且附上該附的資料,例如護照影本之類,通過審核你的帳號才能開通,一旦開通之後才能將你開發的應用程式送上 Marketplace或是在你登錄的實機上測試。

(對,如果你沒有通過身分認證,那你寫的程式就只能在模擬器上跑...,所以不管你要把寫好的程式送上微軟Marketplace或在實機上測試,你的App Hub帳號是很重要的)

接著,就是把你的程式寫完然後在實機上測過,這一部分的經驗是這樣...
1.整體來說,實機的操控流暢度和靈敏度好過模擬器,
2.在實機上的解析度比較好,文字呈現效果比較清晰,所以其實你的程式即便用預設大小的字型,你或許會覺得在模擬器上看怪怪的,但在實機上顯示起來還算不錯。
3.由於CPU不同,模擬器上的程式運行效能普遍好過實機,請注意這跟前述 1. 不衝突,在實機上的測試感覺是,動畫、畫面資料的捲動...等動作都比模擬器流暢,但請注意,如果你的程式耗用大量的CPU資源進行運算(例如我在某個程式中嘗試做了手寫辨識的運算),在模擬器上跑可能很順,但請注意在實機上運行可能會比較慢一些。
4.如果有需要撥放音效,或是多媒體的處理,建議使用XNA,效能比起Silverlight,會好不少。
5.如果你要大量的存取Isolated Storage,請注意也是在模擬器上的效能好過實機,因此建議你必須在實機上測試過。

另外,你覺得程式寫的不錯了,準備送上Marketpace讓使用者下載,請在Submit前(其實最好是開發前)先看過這份文件,這是微軟審核你的應用程式的標準,你送審的程式,會在3-5天左右的時間內回覆,並且提供你一個test results的report(PDF),其中如果有測試失敗的項目,則會告訴你對照上述那份文件的哪一條Validation Guideline有什麼問題,並且建議你該如何做。

如果審核通過,你會收到來自Windows Phone Marketplace 的信件,恭喜你應用程式已經通過審核,且同時間,你也會在App Hub上看到你的帳戶底下該應用程式已經通過查驗...

大約半個工作天,你的程式就會在Marketplace上架,等到在Marketplace上架之後,你的應用程式就可以從WP7手機上下載使用了。

透過Zune軟體也可以同步看到你的應用程式:


你可以在App Hub上Submit最多五個免費的軟體到Marketplace,沒有限制個數的付費軟體,在送件填寫應用程式資料時,會要求你填寫(決定)手機使用者在Marketplace上下載你應用程式時,需要付費的金額,這個金額會扣稅之後進入你的當時填寫的銀行帳戶。

當然,上述的所有應用程式送件(Submit)動作,目前我個人都建議使用英文,包含你在送件時對應用程式的介紹描述,這樣審查時會比較容易通過。後續,我會再詳細分享整個送件的流程和內容,還有撰寫程式的注意事項。

其實整個流程算不複雜,而在這個階段,對於有興趣撰寫WP7應用程式的開發人員,先學習Silverlight以及申請一個App Hub帳號是必須先準備好的作業。

2010年10月11日 星期一

WP7準備亮相...

台北時間晚上九點30左右, WP7準備正式出現在世人面前...
台灣主要的生產廠商是HTC,有興趣的朋友可以在網路上看到相關的新聞...
http://mag.udn.com/mag/digital/storypage.jsp?f_ART_ID=276515

當然,沒在台灣盛大發表,很大一個原因是因為目前登場的機種是英文版,雖然支援Multi-Language可正確無誤的顯示中文,但目前缺少了官方的中文輸入法(狀況就如同iPad, 和早期的iPhone相同)。

不過不要緊,事實上熟悉Silverlight開發技術的開發人員大多已經磨刀霍霍準備開始跨入WP7的開發領域(這也是我最近忙的沒法更新Blog的原因),很多讀者和學員問到,我在Techdays demo的WP7應用程式不是明明就有中文輸入法嗎? 怎麼說這個階段沒有呢?

答案是,中文輸入法是自己做的!
在這個階段,如果你的WP7應用程式需要中文輸入功能,你可能得考慮隨著應用程式綁一個輸入法,目前我們也正在開發相關的輸入法套件,以因應這個過渡階段的需要,相關資訊可以參考底下網址:
http://www.arock.com.tw/ProductsInfo/WP7.aspx

WP7中文輸入法Demo: