NOTE: This book has been updated for Windows Phone 8. You can buy it here from The Microsoft Press Store.
We’re pleased to announce the availability of the new book Windows Phone 7 Development Internals, by Andrew Whitechapel, a senior member of the core Windows Phone Application Platform team. This book covers the breadth of application development for the Windows Phone 7 platform (both the major 7.0 and 7.1/7.5 versions, and the minor 7.1.1 version). The book shows how to build compelling and useful applications for Windows Phone, while providing detailed technical insights into the design of the application platform itself, which will help you build applications that are consistent with the strategic vision for Windows Phone. While you can build both XNA and Silverlight applications for the Windows Phone platform, this book focuses on developing Silverlight applications using Visual Studio.
Each chapter covers a set of related features. For each feature, the book provides one or more sample applications, and walks you through the significant code (C# and XAML), so you can understand both the techniques and the design and implementation choices that you have in each case. The book calls out potential pitfalls and provides scenarios where you can typically make performance or user experience improvements. An underlying theme of the book is not only to conform to the UI design guidelines, but to also to the notion of a balanced, healthy phone ecosystem. You can view the complete table of contents below.
Part I: Building Blocks
Chapter 1 : Vision and Architecture
Windows Phone Vision
Windows Phone Architecture
Developer Tools
The Anatomy of a Basic Windows Phone Application
Version 7 vs. Version 7.1
Summary
Chapter 2 : UI Core
Phone UI Elements
UserControl vs. Custom Control
Resources
Dependency and Attached Properties
Summary
Chapter 3 : Controls
Standard Controls
Transient Panels
Summary
Chapter 4 : Data Binding and Layer Decoupling
Life without Data Binding
Simple Data Binding and INotifyPropertyChanged
Data Binding Collections
Type/Value Converters
Element Binding
Data Validation
Separating Concerns
The Visual Studio Databound Application Project
Summary
Chapter 5 : Touch UI
Logical Touch Gestures
Manipulation Events: Single Touch (Tap)
Manipulation Events: Single Touch (Flick)
Manipulation Events: Multi-Touch
Mouse Events
FrameReported Events
Combining Manipulation and Mouse Events
Click vs. Mouse/Manipulation Events
The Silverlight Toolkit GestureService
Behaviors
Keyboard Input
Orientation
The Application Bar
Summary
Part II: Application Model
Chapter 6 : Application Model
Lifetime Events and Tombstoning
Page Model
Summary
Chapter 7 : Navigation State and Storage
Navigation and State
Navigation Options
Isolated Storage
Summary
Chapter 8 : Diagnostics and Debugging
Visual Studio Debugging
Simple Diagnostics
Device and User Information
Windows Phone Performance Counters
The Device Emulator
Using the Microsoft Network Monitor
Fiddler
Silverlight Spy
Summary
Part III: Extended Services
Chapter 9 : Phone Services
Phone Hardware
Launchers and Choosers
Photo Extras
Accelerometer
Geo-Location
Summary
Chapter 10 : Media Services
Audio and Video Hardware
Audio and Video APIs
Media Playback
Audio Input and Manipulation
Music and Videos Hub
The FM Tuner
Summary
Chapter 11 : Web and Cloud
The WebClient Class
The HttpWebRequest Class
WebBrowser Control
Web Services
WCF Data Services
Bing Maps and Geolocation
Deep Zoom (MultiScaleImage)
Windows Azure
bitly
Facebook
Windows Live
Summary
Chapter 12 : Push Notifications
Architecture
Push Notification Server
Push Notification Client
Additional Server Features
Additional Client Features
The Push Notification Server-Side Helper Library
Common Push Notification Service
Summary
Chapter 13 : Security
Device Security
Application Safeguards
Data Encryption
SDL Tools
Web Service Security
Push Notification Security
OAuth 1.0
OAuth 2.0
Securing Web Service IDs
Implementing Security for the WebBrowser Control
Summary
Chapter 14 : Go to Market
Threading
Performance
Silverlight Unit Testing Framework
Certification and Publication
Versions
Obfuscation
Ads
Trial Mode
Silverlight Analytics Framework
Summary
Part IV: Version 7.5 Enhancements
Chapter 15 : Multi-Tasking and Fast App Switching
Fast Application Switching
Multi-Tasking
Alarms and Reminders
Background Transfer Service
Generic Background Agents
Background Audio
Summary
Chapter 16 : Enhanced Phone Services
Sensor APIs
Camera Pipeline
Augmented Reality
New Photo Extensibility
Launcher and Chooser Enhancements
The DeviceStatus and DeviceNetworkInformation classes