Today we will explore WP7 application development frameworks and app development life cycle in detail.
Most of the developers working on Microsoft technologies are aware of two popular frameworks namely Silverlight and XNA. Silverlight is cross-platform, cross-browser implementation of .Net framework for building media experiences and rich interactive applications for the web on desktop. Microsoft uses XNA framework for game development on its most popular gaming platforms like Xbox 360, Zune HD and Windows 7.
Considering popularity of these frameworks and availability of expertise, Microsoft has decided to use these frameworks for its new mobile OS WP7. However, restrictions on mobile device like memory constraints and form factors forced Microsoft to tweak these frameworks slightly for WP7.
We listed imported features regarding these application frameworks below
- Silverlight for Windows Phone
- Based on Silverlight 4
- Optimized runtime to display content on memory constrained devices
- Hosted on client and will not support web apps
- Additional features which are not part of Silverlight like
- Gesture aware controls
- Support for SIP (software input panel)
- Manipulation events for touch input
- Supports building and running managed applications
- Useful for RIA style or XAML based UI and event driven app
- Includes WP native controls, HTML browser control
- Based on .Net framework 2.0
- Single framework targeted for multiple gaming platforms
- Greater portability using cross-platform input APIs which are orientation-aware and resolution-aware
- Includes set of managed APIs for 2D/3D geometry, textures and shading
- High performance gaming framework to create multi-screen 2D/3D games
- Allows managing art assets (like models, meshes, textures)
Before mango update of WP7, developer has to use any one of the above frameworks for his application’s visual designs though sharing of some classes across framework was possible.
Mango update of WP7 removed this restriction and allowed to use combination of both frameworks for your application’s visual design as well. However, prefer using single framework based on your applications requirements. If at all required, combine these two frameworks in your application by using the new SharedGraphicsDeviceManager and UIElementRenderer class.
Above diagram shows development lifecycle of WP7 apps.
Below are some of the highlights of this development lifecycle
- Windows Live ID is necessary for publishing apps on marketplace
- Your device need to be registered as test device for debugging purpose
- If you unregister your test device, you can’t run manually installed (side loaded) apps
- Maximum three devices can be registered per developer account
- Zune software necessary to deploy app on device
In next blog we will explore features provided in WP7 initial version, mango and tango updates.