相信很多朋友們希望能夠快速的從一個C#開發人員成長為Windows Phone 7進階開發人員,而非僅僅知道皮毛而已,本系列文章的目的為根據我個人多次進行培訓指導總結的一張通往Windows Phone 7開發領域的地圖。
導航
為從OO開發人員(Java)到WP7領域的成長能力圖。從開發人員的角度,可以分為以下階段:
- L0 : Object-Oriented Developer (OOA/D/P)
- L1 : .Net Developer (BCL)
- L2 : Silverlight Developer (XAML/Binding/Events)
- L3 : Windows Phone 7 Basic Developer (Concept/Basic App)
- L4 : Windows Phone 7 Advanced Developer (Commercial App)
Figure 1 Windows Phone 7開發能力進階圖
從每個Level到下一個Level可以通過相應的晉級培訓或者自學來達成,相應的有以下方面的知識和技能進行掌握。
- T0 : C# Training (Syntax, BCL, VS) 5 days
- T1: Silverlight Training (XAML, DP/AP, RE/AE, Resource & Style, Data Binding, Animation) 3 days
- T2: WP7 Basic Training (Architecture, Navigation, Lifecycle, Phone Access, Touch, Pivot & Panorama) 5 days
- T3: WP7 Advanced Training (MVVM, Tile & Notification, Background Service, SQL, XNA) 4 days
大家可以根據自己的目前的實際情況來進行下一階段的培訓和自學。本系列文章將涵蓋T1,T2和T3。實際上,WP7的開發即Silverlight開發,只是在這個基礎之上增加了Phone相關的API,如果問從C#開發到Windows Phone開發的瓶頸在哪,我想其實應該是Silverlight,因為Silverlight或者說WPF增加相對較多的新的概念,這也是為什麼將Silverlight作為晉級為WP7開發人員的一個前提條件。是微軟提供的更詳細的API層面的分解圖,如果能夠掌握以下的方方面面(可以除去XNA Framework部分),應該說你已經可以成為WP7進階開發人員。
行動
本系列文章將分成這些章節:
- T1 : Silverlight Training
- Day 1 : UI Elements (XAML, Controls, Layout, DP/AP, Style, RenderTransform)
- Day 2 : Mouse & Keyboard (Routed Event), Animation(Linear Animation, Key Frame, StoryBoard)
- Day 3 : Data Binding(Code, XAML, Value Conversion, Collection), Networking (Http, Socket)
- T2 : WP7 Basic Training
- Day 1 : Platform Overview(WP7 hardware standard, WP7 eco-system, Software architecture), Metro UI (Principles, Sample Apps), Page Navigation (Page Stack)
- Day 2 : Execution Model (Dorman & Tombstone), Application State and Storage(Page State, Application State, AppSettings, IsolatedStorage)
- Day 3 : Launcher & Chooser(Phone Call, Camera, Search, Phone Book Search), Sensor(Accelerometer, Voice, GPS)
- Day 4: Gesture(Touch, Manipulation, Gesture), Phone Controls(Application Bar, Media Controls, Toolkit Controls)
- Day 5: Panorama & Pivot, Architecture Review
- T3: WP7 Advanced Training
- Day 1: MVVM(MVVM Design Pattern, Resource, Data Binding, Pivot, Controls), MVVM Toolkit
- Day 2: Tile(CRUD), Push Notification(Raw, Tile, Toast, Client & Server side programming)
- Day 3: Background Service(Background Agent, Audio, File, Notification)
- Day 4: SQL(SQL CE, Linq), XNA(Game concept, 2D Game, 3D Game)
正確的學習內容,合理的計劃安排,合適的練習鞏固,可以大大提高在學習新鮮事物的生產效率,降低Learning Curve。本系列文章將逐步把上述的內容進行詳細闡述,敬請期待。