The Microsoft Windows Phone 7 provides a platform for mobile computing on the phone. It has been designed to make programming applications, and sharing and reusing code, much easier by taking advantage of two common technologies that already have a comprehensive user base: Silverlight and XNA:
- Silverlight. This is derived from the Windows Presentation Foundation (WPF) technology. WPF uses Extensible Application Markup Language (XAML) to define the UI and code that uses the .NET Framework classes to implement the functionality of the application. Silverlight uses a reduced set of both WPF and the .NET Framework. It was designed to provide a lightweight, compelling, attractive, and interactive UI; and broad capabilities that take maximum advantage of the features of the device. It can be delivered to a Web browser and executed in a hosted control; or, like with Windows Phone 7, it can be packaged as a XAP file and run natively on devices that support it.
Silverlight provides a development environment that is ideal for business applications and consumer applications that display, collect, and process information. For more information about Silverlight, see http://www.silverlight.net/.
Note: The implementation of Silverlight used in Windows Phone 7 is a subset of the full Silverlight functionality, with the addition of some phone-specific APIs. For more details, see “Differences Between Silverlight on Windows and Windows Phone” on MSDN® (http://msdn.microsoft.com/en-us/library/ff426930(VS.96).aspx).
- XNA. This is composed of software, services, resources, and communities that focus on enabling developers of games and media-rich applications to be successful on Microsoft gaming platforms. These include the XNA Game Studio Express, the Microsoft DirectX® application programming interface display mechanism, and other XNA gaming tools and technologies; as well as tutorials, white papers, samples, and more. XNA gives developers the capability to directly access features of the device such as the video and sound systems, where this is necessary to provide the performance required for highly interactive gaming and associated types of applications. For more information about XNA, see the XNA developer portal site at http://msdn.microsoft.com/en-us/aa937791.aspx.
Note: The implementation of XNA used in Windows Phone 7 is a subset of the full XNA functionality. For more information, see “XNA Framework and Silverlight” on MSDN at (http://msdn.microsoft.com/en-us/library/ff607286(VS.96).aspx).
For more information about the differences between Silverlight and XNA and about how you can use XNA framework routines from a Silverlight application, see Appendix B, “Silverlight and XNA in Windows Phone 7.”
To enable a consistent application platform, all Windows Phone 7 devices implement at least a minimum set of hardware and software features that provide an acceptable and consistent user experience across devices from different manufacturers. This simplifies development by allowing the application to run on any certified Windows Phone 7 device without the developer worrying about whether there is sufficient memory, how touch and orientation are supported, or
whether additional features such as a camera or GPS are available.
“Designing Applications for Windows Phone 7,” describes the development platform provided by Windows Phone 7
in more detail and discusses the factors you must keep in mind when designing applications for the phone.
In addition, the enforced distribution and certification of thirdparty applications through Windows Marketplace ensures that the downloaded software meets a set of acceptable minimum criteria for quality and compatibility to give a consistent user experience. “Interacting with Windows Marketplace,” provides information about how you can submit your applications to Windows Marketplace for distribution to end users.