- Understanding the Role of XAP Files
- The Windows Phone Capabilities Model
- The Threading Model for XAML-Based Graphics and Animation in Windows Phone
- Understanding the Frame Rate Counter
- The Windows Phone Application Analysis Tool
- Reading Device Information
- Applying the Model-View-ViewModel Pattern to a Windows Phone App
- Property Change Notification
- Using Commands
- Argument Validation
- A Platform-Agnostic Dialog Service
- Consuming Local Web Applications
- Summary
Summary
This chapter provided an overview of some common pieces of phone infrastructure and described various techniques that are useful when building Windows Phone apps.
The chapter began with a discussion of the deployment and composition of XAP files. The security capability model of the phone was then discussed, and you learned how to use the Marketplace Test Kit to determine the capability requirements of your app.
The chapter examined the threading model of Windows Phone XAML apps, and you saw how the Windows Phone frame rate counter works.
You then learned about the Windows Phone Application Analysis tool and saw how to profile your app’s performance and memory usage.
The chapter then turned to the custom code and commonly used techniques that you see used in subsequent chapters.
The overview of the custom infrastructure began with an exposé of the Model-View-ViewModel pattern, and you saw how it is applied in the downloadable sample code. How property change notification is implemented was discussed, and you saw techniques for improving the traditional implementation of INotifyPropertyChanged so that it works effortlessly with multithreaded apps.
The chapter then looked at the commanding infrastructure used throughout the book and gave a brief overview of the argument validation system commonly used in the sample code to validate method arguments.
The chapter explored a custom dialog service that enables you to ask the user a question from your viewmodel, while remaining compatible with unit testing.
Finally, the chapter showed how to consume WCF services that reside on the same machine as the emulator, and outlined important steps to enable several of the apps in the downloadable sample code.