相信很多朋友们希望能够快速的从一个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 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。本系列文章将逐步把上述的内容进行详细阐述,敬请期待。