Foreword by Jeff Wilcox

The release of Windows® Phone 7, and the Windows Phone 7.0 SDK, provided great opportunities for building highly interactive and immersive applications. However, with the release of Windows Phone 7.5, and the Windows Phone 7.1 SDK, it is now possible to build many classes of applications that it was not previously possible to build. This release expands upon the capabilities of the Windows Phone platform by including many new features such as multitasking, local database support, Live Tile enhancements, deep linking into applications from notifications and Live Tiles, and an encrypted credentials store, to name but a few. These features, and many more, enable the building of even richer applications.

This guide will show you how to design and implement a compelling end-to-end application using the Windows Phone 7.1 SDK. Testability is a major focus of the guide, since as Windows Phone applications grow in complexity and size they can become difficult to test and maintain. The Model-View-ViewModel (MVVM) pattern provides a clean separation of concerns that not only makes applications easier to test and maintain, but also provides code reuse opportunities, and enables the developer-designer workflow. Windows Phone applications implemented using the Microsoft® Silverlight® browser plug-in are naturally suited to the MVVM pattern, which takes advantage of some of the specific capabilities of Silverlight, such as data binding, commands, and behaviors. The application presented in this guide combines a number of patterns in order to increase the testability of the application.

The guide also highlights a number of essential tools that can greatly increase developer productivity when building an advanced application. The Silverlight Unit Test Framework for Windows Phone and Silverlight 4 enables you to run unit tests on both the phone emulator and on real devices. The Silverlight for Windows Phone Toolkit contains extra controls that enable you to create even better applications using the Windows Phone 7.1 SDK. In the toolkit you'll find user interface controls like those found throughout Windows Phone, with components like toggle switches, page transitions, picker controls and more. Finally, the Prism Library for Windows Phone simplifies tasks such as binding commands to interface objects, linking methods to application bar buttons, notifying changes to object properties, and detecting changes to text-based controls in the view.

After reading this guide, you should know how to build your own advanced, loosely coupled, testable application using the Windows Phone 7.1 SDK.

Happy Windows Phone coding!


Jeff Wilcox

Senior Software Development Lead, Windows Phone Team

Last built: May 25, 2012