內容來之
雖然windows phone還沒正式進入中國大陸市場,但關注它的國內開發者已經越來越多了,這個時候擺在面前的乙個問題就是,如何學習windows phone開發?如果你對此感到無從入手,或許這篇文章可以給你一點啟發。
新的體驗,新的開始
學習windows phone開發的目的是為了開發windows phone應用,但什麼樣的應用才算好的應用呢?毫無疑問,我們需要一些榜樣作為參照,我們希望了解乙個標準的windows phone應用應該是怎樣的,而這正是學習windows phone開發的第一步。
一般而言,我們有以下3種途徑體驗windows phone:
安裝開發工具之後,按照慣例應該寫個hello world應用,這個應用不必很複雜,它的目的是為了讓你經歷一次簡單的開發過程,同時驗證開發工具的安裝和配置沒有問題。
值得提醒的是,windows phone模擬器是不能在虛擬機器裡面執行的,而且它對顯示卡也有要求,需要「使用 wddm 1.1 驅動程式的支援 directx 10 或更高版本的圖形卡」,否則,windows phone模擬器的表現會有點不正常,比如看不到一些動畫效果、淺色主題渲染問題以及ie瀏覽器和webbrowser控制項無法顯示網頁內容等。
有了前面的準備,接下來就可以正式學習windows phone開發了。如果你想系統地學習,可以找一些書來看,這裡推薦charles petzold的《programming windows phone 7》,這本書免費提供pdf版,並且附帶完整的**示例,喜歡閱讀經典電子書的同學絕對不能錯過。如果你傾向於中文內容,也沒有問題,因為這本書已經由國內的windows phone開發者林永堅、姜泳濤和李鵬翻譯並出版了,書名是《windows phone 7程式設計》。
想要更好的把知識學到手,你需要通過乙個實際的應用把它們串聯起來,這裡推薦allen lee的《wp7有約》,這個系列文章通過乙個實際的應用詳細展現乙個完整的開發過程以及在這個過程中的所思所想,具有一定的借鑑價值。
實際上,你不必把windows phone的知識塞滿腦子才能開發,只要你有c#的基礎,對windows phone的基本概念有所了解,就可以開始了。你可以挑選乙個常見的需求,比如很多人都做過的微博客戶端,或者你自己想要的功能,然後著手分析和設計,接著進行實現。在這個過程中,你會遇到各種各樣的問題,各種不懂和各種鬱悶,但你不應感到失落,因為這些困難為你提供了學習的目標和方向,你的知識和經驗正是從解決每乙個這樣的困難積累起來的,而所有這些困難串聯起來最終成就了你要開發的應用以及你的成就感。
無論你選擇什麼需求進行開發,有一點必須切記,那就是你必須對它們有興趣。這點很重要,因為在你做出決定之後的一段時間裡你都要和它們打交道,所以最好是你有機會用到的,這樣就能建立乙個有效的反饋迴圈,幫助自己深入了解這些需求。當然,如果你能接觸到潛在的使用者就更好了,你可以通過與他們的交流拓寬你對這些需求乃至整個應用的視野。
還有一點值得提醒的,開始的時候不必太過擔心你的設計和實現不好,因為隨著時間的推移,你會發現需求產生變化,當初設想的某些需求消失了或者合併到其他需求裡,以及一些新的需求產生了等等,這些都可能對設計和實現帶來衝擊。這對於你來說至少有兩個好處,第一,它讓你有機會重新審視原先設計和實現的不足,這些經驗教訓應該記錄下來,第二,它讓你深刻體會到需求變更對整個過程有哪些影響。
不管怎樣,盡早開始!
隨著開發過程的推移,你很快就會發現標準的控制項無法滿足你的需要,這個時候就需要求助於第三方控制項庫了。
coding4fun windows phone toolkit是另乙個最常用的第三方庫,它也包含大量常用控制項,比如roundbutton、message prompt等,當然也存在問題,比如allen lee曾經在expression blend裡使用它的某個版本時碰到的roundbutton模板異狀。這個時候,你可以到官網那裡反應問題,你需要盡可能把問題描述清楚,最好能夠提供期望效果和實際效果的截圖,幫助開發人員更好地你的問題。實際上,你在測試自己開發的應用,也應該詳細地描述並存檔,以便你或者你的搭檔將來定位錯誤的時候不會無從入手,而且將來新增新的功能時也可以利用這些資訊進行回歸測試。
關鍵在於,你應該從現在開始一點一點地積累使用經驗以及遇到問題時的應對措施,你可以把這些知識集中起來,比如alexis的《windows phone實用開發技巧合集》,它們將會在你日後開發應用的時候給予非常可觀的回報。
當想法僅存在於你的腦子裡時,它是無序的;當你把它寫下來時,面前的文字馬上就會化身成一面鏡子,清楚地映出你的想法。事實上,在你寫下它的過程中,你的大腦會非常努力地進行整理,你甚至會察覺有些想法正在發生變化,這對於理解你的想法非常有幫助。寫下來之後,拿出給別人看看,你會得到別人的反饋,無論是正面反饋還是負面反饋,都能拓寬你的視野。
前面曾經說過,你不必在開始的時候擔心你的設計和實現不夠好,沒有人能夠把將來所有情況都考慮進來,某些經歷的確實會導致歸納過程產生偏頗,這個時候你需要的不是獨自苦思,而是拿著你的想法去找別人,從交流的碰撞中尋求更好的突破。如果你能在交流中暫時放下對某些想法的固著,你可能會發現更好的想法,而不是僅僅對原來想法的小修小補。
曾經有個老師說:「乙個知識,你聽懂了不算真的懂,你能把別人講懂了才算真的懂。」我相信這是分享和交流的另乙個好處,也正是許多人願意在部落格裡分享心得的主要原因。
最後,我們把上面的內容總結成一條學習之路:
WP7 開發(五) wp7控制項開發(二)
1 passwordbox 用於輸入自定義遮罩字元的密碼框控制項,屬性passwordchar用來顯示輸入的密碼替換符號 2 textbox 可以讓軟鍵盤產生不同的鍵面效果 inputscope屬性可通過 獲取屬性列表 typeof inputscopenamevalue getfields bin...
WP開發資源
wp開發 連續兩次點選返回鍵退出程式的設計 xwindows phone 實現類似 微博 下拉重新整理效果 windows phone 7 image controller zoom in,zoom out,and rotate wp 7 影象控制器 放大,縮小,旋轉 windows phone自定...
WP開發筆記 WP7 SDK使用技巧
俗話說的好,工欲善其事,必先利其器。入門wp開發之前,免不了要先接觸開發環境和開發工具。使用wp7 sdk進行開發,我們需要掌握sdk的一些實用技巧,以便我們的開發。一 開啟 關閉電腦鍵盤輸入 wp7模擬器預設狀態只能通過模擬出來的qwerty鍵盤輸入,用滑鼠乙個乙個點太慢了。這裡介紹下開啟 關閉電...