Synopses & Reviews
Build Windows Phone applications optimized for performance and security
Drill into Windows Phone 7 design and architecture—and learn best practices for building a variety of applications. Each chapter focuses on a single Windows Phone building block or feature area, and shows you how to apply it in your applications. If you’re an experienced .NET developer familiar with Microsoft Silverlight, you’ll gain deep insights into the Windows Phone platform design and API surface.
Discover how to:
- Master the Windows Phone application model, including its lifecycle and events
- Use Silverlight UI controls to create engaging applications
- Manage databinding and decouple architectural layers with the Model View ViewModel pattern
- Employ built-in sensors such as Assisted GPS, the accelerometer, and camera
- Use media services APIs for video streaming, as well as audio input and playback
- Consume web services and connect to the cloud through Windows Azure
- Apply Windows Phone 7.5 enhancements, such as multitasking and Fast Application Switching
Your guide to architectural details of the Windows Phone 7 development platform
Drill into Windows Phone 7 design and architecture—and learn how to build applications on this popular mobile platform. Led by a senior member of the Windows Phone Application Platform team, youll gain in-depth insights into the Windows Phone 7 development model, and understand the rationale behind the architecture and APIs.
Discover how to:
- Use the building blocks of the Windows Phone application architecture
- Manage databinding and the separation of layers in the Model View ViewModel (MVVM) pattern
- Examine how third party applications fit into the application platform
- Make best use of the Window Phone platform for both connected and disconnected application features
- Apply best practices for application performance optimization, debugging techniques, and profiling
- Take advantage of the enhanced features in the Windows Phone SDK version 7.1
About the Author
Andrew Whitechapel is a senior program manager for the Windows Phone Application Platform team, performing scoping and design for the application platform (both native and managed), including v7.5 (Mango) and future releases. He is responsible for core parts of the platform, including the application packaging/install database and services, the application execution manager, and the resource manager (memory, CPU, thread pool, etc). He has written several books, including the Microsoft Press books Microsoft .NET Development with Microsoft Office and Inside C# (for which he was a co-author), as well as numerous articles for MSDN Magazine and other publications.
Table of Contents
Foreword; Introduction; Who Should Read This Book; Who Should Not Read This Book; Organization of This Book; Conventions and Features in This Book; System Requirements; Code Samples; Acknowledgments; Errata & Book Support; We Want to Hear from You; Stay in Touch; Part I: Building Blocks; Chapter 1: Vision and Architecture; 1.1 Windows Phone Vision; 1.2 Windows Phone Architecture; 1.3 Developer Tools; 1.4 The Anatomy of a Basic Windows Phone Application; 1.5 Version 7 vs. Version 7.1; 1.6 Summary; Chapter 2: UI Core; 2.1 Phone UI Elements; 2.2 UserControl vs. Custom Control; 2.3 Resources; 2.4 Dependency and Attached Properties; 2.5 Summary; Chapter 3: Controls; 3.1 Standard Controls; 3.2 Transient Panels; 3.3 Summary; Chapter 4: Data Binding and Layer Decoupling; 4.1 Life without Data Binding; 4.2 Simple Data Binding and INotifyPropertyChanged; 4.3 Data Binding Collections; 4.4 Type/Value Converters; 4.5 Element Binding; 4.6 Data Validation; 4.7 Separating Concerns; 4.8 The Visual Studio Databound Application Project; 4.9 Summary; Chapter 5: Touch UI; 5.1 Logical Touch Gestures; 5.2 Manipulation Events: Single Touch (Tap); 5.3 Manipulation Events: Single Touch (Flick); 5.4 Manipulation Events: Multi-Touch; 5.5 Mouse Events; 5.6 FrameReported Events; 5.7 Combining Manipulation and Mouse Events; 5.8 Click vs. Mouse/Manipulation Events; 5.9 The Silverlight Toolkit GestureService; 5.10 Behaviors; 5.11 Keyboard Input; 5.12 Orientation; 5.13 The Application Bar; 5.14 Summary; Part II: Application Model; Chapter 6: Application Model; 6.1 Lifetime Events and Tombstoning; 6.2 Page Model; 6.3 Summary; Chapter 7: Navigation State and Storage; 7.1 Navigation and State; 7.2 Navigation Options; 7.3 Isolated Storage; 7.4 Summary; Chapter 8: Diagnostics and Debugging; 8.1 Visual Studio Debugging; 8.2 Simple Diagnostics; 8.3 Device and User Information; 8.4 Windows Phone Performance Counters; 8.5 The Device Emulator; 8.6 Using the Microsoft Network Monitor; 8.7 Fiddler; 8.8 Silverlight Spy; 8.9 Summary; Part III: Extended Services; Chapter 9: Phone Services; 9.1 Phone Hardware; 9.2 Launchers and Choosers; 9.3 Photo Extras; 9.4 Accelerometer; 9.5 Geo-Location; 9.6 Summary; Chapter 10: Media Services; 10.1 Audio and Video Hardware; 10.2 Audio and Video APIs; 10.3 Media Playback; 10.4 Audio Input and Manipulation; 10.5 Music and Videos Hub; 10.6 The FM Tuner; 10.7 Summary; Chapter 11: Web and Cloud; 11.1 The WebClient Class; 11.2 The HttpWebRequest Class; 11.3 WebBrowser Control; 11.4 Web Services; 11.5 WCF Data Services; 11.6 Bing Maps and Geolocation; 11.7 Deep Zoom (MultiScaleImage); 11.8 Windows Azure; 11.9 bitly; 11.10 Facebook; 11.11 Windows Live; 11.12 Summary; Chapter 12: Push Notifications; 12.1 Architecture; 12.2 Push Notification Server; 12.3 Push Notification Client; 12.4 Additional Server Features; 12.5 Additional Client Features; 12.6 The Push Notification Server-Side Helper Library; 12.7 Common Push Notification Service; 12.8 Summary; Chapter 13: Security; 13.1 Device Security; 13.2 Application Safeguards; 13.3 Data Encryption; 13.4 SDL Tools; 13.5 Web Service Security; 13.6 Push Notification Security; 13.7 OAuth 1.0; 13.8 OAuth 2.0; 13.9 Securing Web Service IDs; 13.10 Implementing Security for the WebBrowser Control; 13.11 Summary; Chapter 14: Go to Market; 14.1 Threading; 14.2 Performance; 14.3 Silverlight Unit Testing Framework; 14.4 Certification and Publication; 14.5 Versions; 14.6 Obfuscation; 14.7 Ads; 14.8 Trial Mode; 14.9 Silverlight Analytics Framework; 14.10 Summary; Part IV: Version 7.5 Enhancements; Chapter 15: Multi-Tasking and Fast App Switching; 15.1 Fast Application Switching; 15.2 Multi-Tasking; 15.3 Alarms and Reminders; 15.4 Background Transfer Service; 15.5 Generic Background Agents; 15.6 Background Audio; 15.7 Summary; Chapter 16: Enhanced Phone Services; 16.1 Sensor APIs; 16.2 Camera Pipeline; 16.3 Augmented Reality; 16.4 New Photo Extensibility; 16.5 Launcher and Chooser Enhancements; 16.6 The DeviceStatus and DeviceNetworkInformation classes; 16.7 Version 7.1.1; 16.8 Summary; Chapter 17: Enhanced Connectivity Features; 17.1 Push, Tile, and Toast Enhancements; 17.2 Sockets; 17.3 OData Client; 17.4 Search Extensibility; 17.5 Summary; Chapter 18: Data Support; 18.1 Local Database and LINQ-to-SQL; 18.2 Encrypting Data and Credentials; 18.3 Contacts and Calendar; 18.4 Sync Framework; 18.5 Summary; Chapter 19: Framewoooooork Enhancements; 19.1 Navigation Enhancements; 19.2 UI Enhancements; 19.3 Silverlight 4.0; 19.4 Summary; Chapter 20: Tooling Enhancements; 20.1 Emulator Improvements; 20.2 Debugger Experience; 20.3 Marketplace Test Kit; 20.4 The Profiler; 20.5 UserVoice Forums; 20.6 Portable Library Tools; 20.7 Async Framework; 20.8 Summary;