Book Image

Windows Phone 8 Application Development Essentials

By : Tomasz Szostak
Book Image

Windows Phone 8 Application Development Essentials

By: Tomasz Szostak

Overview of this book

<p>Windows Phone 8 replaces Windows Phone 7 devices with the Windows NT kernel found on many Windows 8 components. Windows 8 will give you more options to develop better and more visually appealing PC and Tablet applications.</p> <p>A practical guide that will show you how you how to create testable MVVM applications keeping in mind the best UI practices. You will learn how to integrate peripheral sensors and social portals like Facebook and Twitter into your applications. This book shows the advantages of using modern patterns instead of the traditional way of programming.</p> <p>Starting with a Windows Phone UI description, the guide then takes you through the world of fast and fluid design guidelines. After that, you will be shown the beauty of C# and MVVM advantages, finishing with clear descriptions of mobile-application integration with peripherals and social media. Clear and well-described examples throughout will help you become a WP8 developer.</p> <p>You will also learn how to test your applications using Unit Test cut dependencies in your methods using Mocks, and use the newest features of C# such as asynchronous methods. If you are more of a designer than a developer, then there is also an explanation on how to create a consistent look and feel for Windows Phone applications.</p>
Table of Contents (12 chapters)

ViewModel


ViewModel is a connector between Model and View and provides data and stateto View that is bound. It is also known as View's Model (VM) because it exposes public properties and commands to a view. ViewModel takes the responsibility and transforms the data by manipulating Model or even aggregates many models and exposes them to view. A possible situation is when view will need some property that not exist in any Model; for example, when loading data, the IsLoading property will be needed that will tell the view that loading is in progress. You may ask why not expose a property that directly says to hide the element? Because ViewModel is designed to be independent; if we want to handle exposed properties in the view, we have to implement ValueConverter.

Another thing for which ViewModel is very useful is loading the data. I cannot imagine a better place for loading and populating model data than VM methods; for instance, it may be implemented by loading data from web services. VM...