Over a million developers have joined DZone.

WP Dev Guide Update, Building Windows Phone 7.1/5 apps with MVVM, that are testable and more...

· Mobile Zone

Francis K. Cheung - SHIPPED!!! Windows Phone Developer Guidance updated for Mango (WP SDK 7.1)

We dramatically updated our guidance around Windows Phone development. Beyond recompiling our previous guidance against the Mango SDK, the latest guidance takes advantage of many Mango features such as fast app switching, background tasks, and new sensor APIs. We also did a fair amount of work showing how to create a layer of abstraction on top of the Windows Phone APIs that facilitates unit testing.

We split up our guidance into three parts:

  1. Developing a Windows Phone Application using the MVVM Pattern
    This guidance walks you through building a simple Windows Phone application using CodeBehind files. The guidance then shows you how the same app can be much more unit testable when built using the MVVM pattern.
  2. A Case Study for Building Advanced Windows Phone Applications
    This guidance takes an in-depth look at how to write an advanced Windows Phone application, using many features of Mango. Unit testability was an important factor that guided the design of this application.
  3. Building Testable Windows Phone Applications
    Taking the work on unit testability from the above guidance, this guidance provides shorter samples of how to build unit testable Windows Phone applications.

..." [GD: Post Leach Level 99%]

Developing a Windows Phone Application using the MVVM Pattern

This documentation and accompanying sample application will get you started building easily testable applications that target Windows® Phone OS 7.1. You will learn the basics of the Model View View-Model (MVVM) pattern and dependency injection through a sample application that enables you to track the petrol consumption of three vehicles. The sample application is authored two different ways so that you can see the progression from a code-behind implementation to a view model implementation whose dependencies are injected.

Some of the topics that you will learn about include the following:


A Case Study for Building Advanced Windows Phone Applications

Windows® Phone provides an exciting opportunity for companies and developers to build applications that travel with users, are interactive and attractive, and are available whenever and wherever users want to work with them. The latest release of Windows Phone furthers this opportunity by enabling you to build many classes of applications that were not previously possible.

By combining Windows Phone applications with on-premises services and applications, or remote services and applications that run in the cloud (such as those using the Windows Azure™ technology platform), developers can create highly scalable, reliable, and powerful applications that extend the functionality beyond the traditional desktop or laptop, and into a truly portable and much more accessible environment.

This guide describes a scenario concerning a fictitious company named Tailspin that has decided to embrace Windows Phone as a client device for their existing cloud-based application. Their Windows Azure-based application named Surveys is described in detail in a previous book in this series, Developing Applications for the Cloud on the Microsoft Windows Azure Platform 2nd Edition. For more information about that book, see the page by the same name on MSDN® at (http://msdn.microsoft.com/en-us/library/ff966499.aspx).

In addition to describing the client application, its integration with the remote services, and the decisions made during its design and implementation, this book discusses related factors, such as the design patterns used, and the ways that the application could be extended or modified for other scenarios.

Some of the topics that you will learn about in this guide include the following:

  • Using the MVVM pattern
  • Displaying user interface notifications
  • Managing state and performing navigation
  • Encrypting and decrypting credentials
  • Persisting data to and from isolated storage
  • Synchronizing data between a Windows Phone device and a cloud service, both in the background and the foreground
  • Pinning Application Tiles and secondary Tiles to Start
  • Capturing location data, image data, and audio data
  • Authenticating with a cloud service from a Windows Phone application
  • Pushing notifications to Windows Phone devices
  • Transferring data between a Windows Phone device and a cloud service
  • Abstracting the Windows Phone 7.1 SDK
  • Unit testing MVVM applications

The result is that, after reading this book, you will be familiar with how to design and implement advanced applications for Windows Phone that take advantage of remote services to obtain and upload data while providing a great user experience on the device.




Building Testable Windows Phone Applications

"This documentation and accompanying sample applications will show you how to build easily testable applications that target Windows Phone OS 7.1.

Some of the topics that you will learn about include building testable Windows Phone applications that:


This documentation and accompanying sample applications are best suited for developers with the following experience levels.

Some experience with:

  • C#
  • Silverlight
  • Windows Phone 7.0 or 7.1 SDK
  • The Model-View-ViewModel (MVVM) pattern

Little or no experience with:

  • Building testable Windows Phone applications




Some light reading for the weekend...


Published at DZone with permission of Greg Duncan, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}