New book: Windows Phone 7 Development Internals

cover for Windows Phone 7 Development InternalsNOTE: 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

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
Version 7.1.1
Summary

Chapter 17 : Enhanced Connectivity Features

Push, Tile, and Toast Enhancements
Sockets
OData Client
Search Extensibility
Summary

Chapter 18 : Data Support

Local Database and LINQ-to-SQL
Encrypting Data and Credentials
Contacts and Calendar
Sync Framework
Summary

Chapter 19 : Framework Enhancements

UI Enhancements
Silverlight 4.0
Summary

Chapter 20 : Tooling Enhancements

Emulator Improvements
Debugger Experience
Marketplace Test Kit
The Profiler
UserVoice Forums
Portable Library Tools
Async Framework
Summary