Bring Your iPhone Apps and Skills to Windows Phone 7—or Build Apps for Both Mobile Platforms at Once
If you’ve been developing for the crowded iPhone marketplace, this book will help you leverage your iOS skills on a fast-growing new platform: Windows Phone 7 (WP7). If you’re a .NET programmer, it will help you build advanced WP7 mobile solutions that reflect valuable lessons learned by iPhone developers. If you’re a mobile development manager, it offers indispensable insights for planning cross-platform projects.
Kevin Hoffman guides you through the entire WP7 SDK, showing how it resembles Apple’s iOS SDK, where it differs, and how to build production-quality WP7 apps that sell. Step by step, you’ll master each technology you’ll need, including C#, Silverlight and XAML. Every new concept is introduced along with all the tools and background needed to apply it.
Hoffman’s practical insights extend into every facet of WP7 development: building user interfaces; hardware and device services; WP7’s unique Application Tiles; Push Notifications; the Phone Execution Model, local storage, smart clients, MVVM design, security, social gaming, testing, debugging, deployment, and more. A pleasure to read and packed with realistic examples, this is the most useful Windows Phone 7 development book you can find.
Compare Apple’s Objective-C and Microsoft’s C#: “second cousins twice removed”
Apply C# object techniques—including encapsulation, inheritance, contracts, and interfaces
Build rich, compelling user interfaces based on Silverlight, XAML, and events
Move from Apple’s Xcode to Visual Studio 2010 and from Interface Builder to Expression Blend
Leverage hardware and device services, including the accelerometer, GPS, photos, contacts, e-mail, and SMS
Create dynamic application Tiles to appear on the Start screen
“Push” raw data notifications to running apps
Understand and use the Windows Phone 7 phone execution model
Efficiently store and retrieve data on WP7 phones
Build “smart clients” that sync locally stored data with web services
Manage growing app complexity through “separation of concerns” and MVVM (Model-View-View Model)
Use TDD and automated testing to accelerate and streamline development
Create casual, connected games and social apps
Secure apps without incurring unacceptable tradeoffs
Successfully deploy apps to the Marketplace