3/28/11 1:11:06 PM
WINDOWS® PHONE 7 APPLICATION DEVELOPMENT
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Introducing Windows Phone 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Jaw-Dropping Apps with the Help of Silverlight . . . . . . . . . . . . . . . . . . . 23
Spice Up Your App with Shapes, Colors, Brushes, and Transforms . . . 65
Advanced User Interface Techniques: Styles, Templates, and
the Visual State Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Isolated Storage, Page Navigation, and the Application Life Cycle . . .147
Interacting with the Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Launchers, Choosers, and Advanced User Input. . . . . . . . . . . . . . . . . . 225
Windows Phone 7 Services and Cloud Services . . . . . . . . . . . . . . . . . . 277
Creating and Consuming Web Services . . . . . . . . . . . . . . . . . . . . . . . . . 305
Web Services Push Notiﬁcations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
XNA for Windows Phone 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Microsoft Expression Blend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Using the Silverlight for Windows Phone Toolkit and
Creating Panoramic User Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Patterns, Frameworks, and Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Publishing Your Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Solutions to Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
3/28/11 1:11:03 PM
3/28/11 1:11:06 PM
Windows® Phone 7 Application
BUILDING WINDOWS® PHONE APPLICATIONS
USING SILVERLIGHT® AND XNA®
3/28/11 1:11:06 PM
Beginning Windows® Phone 7 Application Development: Building Windows® Phone Applications
Using Silverlight® and XNA®
Wiley Publishing, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256
Copyright © 2011 Wiley Publishing, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-1-118-09628-4 (ebk)
ISBN: 978-1-118-09629-1 (ebk)
ISBN: 978-1-118-09630-7 (ebk)
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means,
electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108
of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization
through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers,
MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the
Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011,
fax (201) 748-6008, or online at http://www.wiley.com/go/permissions.
Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with
respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including
without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or
promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is
sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional
services. If professional assistance is required, the services of a competent professional person should be sought. Neither
the publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is
referred to in this work as a citation and/or a potential source of further information does not mean that the author or
the publisher endorses the information the organization or website may provide or recommendations it may make.
Further, readers should be aware that Internet websites listed in this work may have changed or disappeared between
when this work was written and when it is read.
For general information on our other products and services please contact our Customer Care Department within the
United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be
available in electronic books.
Library of Congress Control Number: 2011920899
Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, and Wrox Programmer to Programmer are trademarks or
registered trademarks of John Wiley & Sons, Inc. and/or its affi liates, in the United States and other countries, and
may not be used without written permission. Windows, Silverlight, and XNA are registered trademarks of Microsoft
Corporation. All other trademarks are the property of their respective owners. Wiley Publishing, Inc. is not associated
with any product or vendor mentioned in this book.
3/28/11 1:11:08 PM
This book is dedicated to my beautiful wife, Kristie,
and my daughters, Tabetha and Cheyenne.
For the love of my life, Cara.
3/28/11 1:11:09 PM
VICE PRESIDENT AND EXECUTIVE GROUP PUBLISHER
Ginny Bess Munroe
VICE PRESIDENT AND EXECUTIVE PUBLISHER
PROJECT COORDINATOR, COVER
Robyn B. Siesky
Mary Beth Wakeﬁeld
FREELANCER EDITORIAL MANAGER
ASSOCIATE DIRECTOR OF MARKETING
© iStock/Oleksiy Mark
3/28/11 1:11:10 PM
ABOUT THE AUTHORS
NICK LECRENSKI is a developer with 10 years of experience in a wide range of Microsoft
technologies including Visual C++, C#, VB, VB.NET, SQL Server, .NET Framework, ASP.NET,
AJAX, Silverlight, and more. He has a BS in Computer Science and has worked in various fields from
biometrics to financial services. He is also the founder and lead developer of MyFitnessJournal.com, a
fitness training website that currently utilizes Silverlight technology. He is also the author of
Silverlight 4: Problem - Design - Solution, available from www.wrox.com.
KARLI WATSON is an IT contractor and author currently working in London in the fi nancial sector.
For the most part, he immerses himself in .NET (in particular, C#) and has written numerous
books in the field for several publishers. He specializes in communicating complex ideas in a
way that is accessible to anyone with a passion to learn, and he spends much of his time playing
with technology to fi nd new things to teach people. During those (seemingly few) times where he
isn’t doing the previous, Karli is probably wishing he was hurtling down a mountain on a
snowboard or possibly trying to get his novel published. Either way, you’ll know him by his
brightly colored clothes.
ROBERT FONSECA-ENSOR is a software engineer consulting with Infusion (www.infusion.com).
From New Zealand, he currently lives in London. He specializes in user interface development and
has been working with Microsoft Surface, Silverlight, and WPF for the past four years. Rob has a
strong passion for learning new things and then teaching them to others. He enjoys attending and
presenting at .NET user groups so much that he started the Canary Wharf .NET User Group. He
plans to become a university professor “as soon as he gets sick of coding in the real world,” which
isn’t going to happen soon. Rob’s wife is an IOS developer, and together they have built and released
a couple of successful iPhone games. Now that his weekends are writing-free, he plans to churn out
some awesome WP7 games, so watch your back. Rob keeps a blog at www.robfe.com , and has a
twitter account at www.twitter.com/robfe.
3/28/11 1:11:10 PM
I WOULD LIKE TO THANK EVERYONE at Wrox who had a part in helping to get this book to print.
First, I would like to thank my family for supporting me on another book writing endeavor. I would
also like to take the time to thank Paul Reese for giving me the opportunity to work on another
book project and Ginny Munroe, our primary editor, who fought to keep us all on track and on
time, which was no easy task. I would also like to thank Jonathan Marbutt, our technical editor,
for checking all of our code and offering valuable input during the writing process. Finally, I would
also like to thank my co-authors, Karli and Robert, for their great work on this project and
ensuring that all of the material will help our readers realize the goal of developing mobile
applications on the new Windows Phone 7 platform.
THANKS TO ALL AT WROX for their hard work in making my writing as good as it can be. In no particular order, thanks especially to Paul Reese for getting things off the ground, Ginny for infi nite
patience and good humour, and Kitty for her wordsmithing. Also, thanks to my fellow authors,
including many congratulations to Rob for getting through that “difficult fi rst book!”
I COULD NEVER HAVE GOTTEN this far if not for my darling wife, Cara. You’re inspirational, patient,
and wonderful. Thank you for all the support you give me. Thanks to the staff at Wrox for all their
support and patience, especially Ginny and Paul. To all my mentors: Karli, Ben Gracewood, Dr. Rick
Mugridge, Dr. Ewan Tempero, David Okey, Alan Goodison, and especially my parents — thank you for
believing in me.
3/28/11 1:11:11 PM
CHAPTER 1: INTRODUCING WINDOWS PHONE 7
The Windows Mobile Platform
Here Comes the iPhone
A Microsoft Reboot
The Windows Phone 7 Platform
Windows Phone 7 Hardware Speciﬁcations
Windows Phone 7 Architecture
Getting Started with Windows Phone 7 Development
Navigating through Visual Studio 2010 Express Edition
CHAPTER 2: JAW-DROPPING APPS WITH THE HELP OF SILVERLIGHT
Requirements for Windows Phone 7 Development
What Is Silverlight?
What Is XAML?
The Anatomy of a Windows Phone Application
Developing with Silverlight Controls
Common Control Properties
Programming with Silverlight
CHAPTER 3: SPICE UP YOUR APP WITH SHAPES, COLORS,
BRUSHES, AND TRANSFORMS
Working with Shapes
The Ellipse Control
The Rectangle Control
The Line Control
The Polygon Control
The Polyline Control
Working with Colors
3/28/11 6:48:43 PM
The SolidColorBrush Object
The LinearGradientBrush Object
The RadialGradientBrush Object
The ImageBrush Object
The RotateTransform Object
The ScaleTransform Object
The SkewTransform Control
The TranslateTransform Object
The TransformGroup Object
CHAPTER 4: ADVANCED USER INTERFACE TECHNIQUES: STYLES,
TEMPLATES, AND THE VISUAL STATE MANAGER
Understanding Control Styles
The Visual State Manager
CHAPTER 5: ISOLATED STORAGE, PAGE NAVIGATION, AND THE
APPLICATION LIFE CYCLE
How Windows Phone 7 Data Storage Works
Getting Started Using Isolated Storage
The IsolatedStorageSettings Object
The IsolatedStorageFile Object
Using the Navigation Framework
Getting to Know the Navigation Framework
The NavigationService Class
The Application Life Cycle
The Launching State
3/28/11 6:48:45 PM
The Running State
The Closing State
The Deactivating State
The Activating State
CHAPTER 6: INTERACTING WITH THE HARDWARE
What’s Different about Mobile Device Application Development?
The Windows Phone 7 Hardware Speciﬁcation
Altering Device Orientation
Conﬁguring Supported Orientations
Responding to Orientation Changes
Device Orientation Best Practices
Understanding the Back Button
Taking Advantage of the Back Button’s Functionality
Responding to the Back Button
Tuning In to the FM Radio
Accelerating with the Accelerometer
The AccelerometerSensor Sensor
Simulating Accelerometer Data
CHAPTER 7: LAUNCHERS, CHOOSERS, AND ADVANCED
Using the Application Bar
Adding an Application Bar
Application Bar Best Practices
Using Launchers and Choosers
An Overview of Launchers
An Overview of Choosers
Working with Contacts
Making Voice Calls
Using Email and SMS Messaging
Interacting with the Camera
Using Other Launchers
The Software Input Panel (SIP)
Controlling the SIP
3/28/11 6:48:45 PM
CHAPTER 8: WINDOWS PHONE 7 SERVICES AND CLOUD SERVICES
What Are Services?
Finding Yourself with Location Services
Location Data Sources Overview and Comparison
Obtaining Location Information
Location Service Best Practices
Using Cloud Services
Using Microsoft Cloud Data
Using Bing Maps in a WP7 Application
CHAPTER 9: CREATING AND CONSUMING WEB SERVICES
Service Architecture Primer
Web Requests and Responses
Using WebRequest and WebResponse
Consuming a RESTful Service
Creating RESTful Services
Tools for Creating WCF Services
Hosting WCF Services
Creating WCF Services
WCF Services Example Application
WCF REST Services
CHAPTER 10: WEB SERVICES PUSH NOTIFICATIONS
Push Notiﬁcation Architecture
Push Notiﬁcation Components
3/28/11 6:48:45 PM
Registering a Push Notiﬁcation Service
Creating and Opening Notiﬁcation Channels
Types of Push Notiﬁcations
Sending and Responding to Push Notiﬁcations
Creating and Conﬁguring a Notiﬁcation Channel
Sending Push Notiﬁcation Service Messages
Creating a Push Notiﬁcation Service
CHAPTER 11: XNA FOR WINDOWS PHONE 7
What Is XNA?
An XNA Game: Tank
What’s in My Solution?
The Game Class
Running the Tank Game
Drawing 2-D Graphics
The SpriteBatch Class
The ContentManager Class
How to Draw Images
How to Draw Text
Updating Game State
The Versatility of Vectors
Keeping in Time
The TouchPanel Class
Driving the Tank
Simplifying Your Code with Game Components
The GameComponent and DrawableGameComponent Classes
GameComponent Life Cycles
More XNA Tips and Tricks
Handling Many Objects Efficiently
Advanced Geometry: Homing Missiles
Rendering Smooth Text with a Drop Shadow
CHAPTER 12: MICROSOFT EXPRESSION BLEND
The Blend Interface
Using Blend’s Tools and Panels
3/28/11 6:48:46 PM
Adding Layout Panels
Modifying Visual Design
Themes and Resources
Reusing Code with Styles
Editing Control Templates
Managing Animations with Storyboards
Data Binding in Blend
Binding to Datacontext
Binding to Elements
Putting Sample Data into the Blend Artboard
CHAPTER 13: USING THE SILVERLIGHT FOR WINDOWS PHONE
TOOLKIT AND CREATING PANORAMIC USER
Overview of the Silverlight for Windows Phone Toolkit
Silverlight for Windows Phone Toolkit Controls
The AutoCompleteBox Control
The DatePicker Control
The TimePicker Control
The ContextMenu Control
Silverlight for Windows Phone Toolkit Page Transitions
Silverlight for Windows Phone Toolkit Gestures
The Panorama Control
CHAPTER 14: PATTERNS, FRAMEWORKS, AND TESTS
Using Architectural Patterns
Developing with MVVM
Using MVVM Frameworks
MVVM Framework Features
Finding the Right Framework
Adding Unit Tests
Manual Unit Testing
Unit Testing Frameworks
3/28/11 6:48:46 PM
Unit Testing MVVM Applications
CHAPTER 15: PUBLISHING YOUR APPLICATION
The Marketplace and App Hub
Joining the App Hub
Completing the Identity Veriﬁcation Process
Setting Up Payee Information
Submitting an Application for Publication
Uploading the XAP File
Describing the Application
Pricing Your Application
Submitting Your Application
Testing Your Application
Providing a Trial Mode
Increasing App Sales
Microsoft’s Target Windows Phone 7 Market
Creating Impressions That Count
Getting the Word Out
The Right Price
Taking Advantage of Momentum
APPENDIX: SOLUTIONS TO EXERCISES
3/28/11 6:48:47 PM
3/28/11 6:49:40 PM
TEN YEARS AGO, who would have thought that with the power of web and desktop applications, you
would eventually be able to duplicate much of that power on something as small as a cellphone? There
was a time not that long ago when the cellphone’s primary purpose was to just make a phone call.
In fact, just the capability to make a phone call anywhere was impressive. Things have changed. Now,
with no less than three major smartphone platforms, cellphone users can do just about anything on a
phone that previously required a PC. You can shop, do tax calculations, play games, browse the web,
read the news, and so on. Of course, this means that as a developer, you officially have a new platform
to consider when writing your own applications. Fortunately, the new Windows Phone 7 platform
provides developers with one of the most robust, easy-to-use programming environments currently
available for mobile application development.
When the first wave of smartphones hit the market, many required special development kits that
were available only at a high cost through the specific phone manufacturers. The Windows Mobile
platform, of course, was always different in that aspect. With the Windows Mobile platform, developers
could write mobile applications using existing .NET technologies, and have a familiar development
environment in Visual Studio. The previous incarnations of Windows Mobile development were not,
however, without their shortcomings. In many cases, because the hardware was not standardized,
applications written for one hardware device might not have functioned the same on another device.
This dilemma and the high cost of specialized development toolkits were the problems that the latest
wave of smartphone development platforms aimed to solve. In order for any mobile development
market to explode and foster rich application development, hardware features needed to be
standardized, and the cost to enter the mobile development space had to come down drastically.
The Windows Phone 7 development platform has done an impressive job solving these problems. The
development environment is free, the hardware is finally standardized, and there is a rich abundance
of developer information on the web and in this book. As an additional bonus, the choice to use
Silverlight as the main development platform means that in many cases applications written for
the Silverlight web-based platform can be easily ported to the phone device, and vice versa. It is no
doubt an exciting time to be a developer and there is no better time than now to get familiar with the
Windows Phone 7 development tools and platform. When you complete this book, you will be armed
with the knowledge and skills to create your own rich mobile applications and games. You will find
that developing applications for the platform is a rewarding and painless experience, and we all look
forward to seeing the next generation of rich mobile applications starting with yours.
WHO THIS BOOK IS FOR
This book is specifically geared at readers who have an interest in learning mobile phone application
development on the Windows Phone 7 platform. You should be familiar with basic programming
constructs and methodologies. You do not, however, need any previous experience in mobile
development, Silverlight, or Windows Phone 7. Familiarity with Microsoft development tools, such
as Visual Studio and Expression Blend, is helpful but is not required. This book guides you through
3/28/11 6:49:41 PM
the required features of these tools in order to facilitate application development on the Windows
Phone 7 platform.
WHAT THIS BOOK COVERS
This book covers everything you need to write rich mobile applications for Windows Phone 7. The
following is a brief outline of each chapter:
Chapter 1, “Introducing Windows Phone 7” — Introduce yourself to Windows Phone 7
Chapter 2, “Jaw-Dropping Apps with the Help of Silverlight” — Develop applications using
Chapter 3, “Spice Up Your App with Shapes, Colors, Brushes, and Transforms” — Learn
how to use Shapes, Colors, Brushes, and Transform objects.
Chapter 4, “Advanced User Interface Techniques: Styles, Templates, and the Visual State
Manager” — Learn interface techniques including styles, templates, and how to create
animations using the Visual State Manager.
Chapter 5, “Isolated Storage, Page Navigation, and the Application Life Cycle” —
Understand data storage using the Silverlight Isolated Storage feature, and multipage
Chapter 6, “Interacting with the Hardware” — Use hardware interactions, FM Radio, and
Chapter 7, “Launchers, Choosers, and Advanced User Input” — Learn about launchers and
Chapter 8, “Windows Phone 7 Services and Cloud Services” — Consume Windows Phone 7
Chapter 9, “Creating and Consuming Web Services” — Consume external web services.
Chapter 10, “Web Services Push Notifications” — Understand web services and how to use
Chapter 11, “XNA for Windows Phone 7” — Develop games with XNA.
Chapter 12, “Microsoft Expression Blend” — Use Expression Blend.
Chapter 13, “Using the Silverlight for Windows Phone Toolkit and Creating Panoramic User
Interfaces” — Understand panoramic displays and the Silverlight Toolkit.
Chapter 14, “Patterns, Frameworks, and Tests” — Use development patterns and test your
Chapter 15, “Publishing Your Application” — Publish your application to the Windows
Phone 7 Marketplace.
Appendix A, “Solutions to Exercises” — Get the solutions to the chapter exercises.
3/28/11 6:49:41 PM
WHAT YOU NEED TO USE THIS BOOK
To follow this book and to compile and run the sample applications, you need the following:
Windows 7, Windows Vista, Windows XP, Windows Server 2008, or Windows Server 2003.
The latest release of the Windows Phone 7 developer tools. These are freely available from
Microsoft at http://create.msdn.com. A free edition of Visual Studio 2010, XNA Game
Studio, and Expression Blend designed for Windows Phone 7 development are included in
Installation of the Silverlight for Windows Phone 7 Toolkit. A free toolkit is available at
To help you get the most from the text and keep track of what’s happening, we’ve used several
conventions throughout the book.
WARNING Boxes like this one hold important, not-to -be forgotten information
that is directly relevant to the surrounding text.
COMMON MISTAKES These areas hold important information about common
mistakes that can be made while coding a particular feature.
NOTE Tips, hints, tricks, and asides to the current discussion look like this.
As for other conventions in the text:
New terms and important words are highlighted in italics.
Keyboard combinations are treated like this: Ctrl+R.
Filenames, URLs, and code within the text are treated like this: persistence.properties.
This book uses monofont type with no highlighting for most code examples. This book also uses
bold to emphasize code that is of particular importance in the present context.
3/28/11 6:49:42 PM
As you work through the examples in this book, either type the code manually or use the sourcecode fi les that accompany the book. All of the source code used in this book is available for
download at www.wrox.com . On the site, simply locate the book’s title (either by using the Search
box or by using one of the title lists) and click the Download Code link on the book’s detail page to
obtain all the source code for the book.
NOTE Because many books have similar titles, you might ﬁnd it easiest to
search by ISBN; this book’s ISBN is 978- 0 - 470 -91233 -1.
After you download the code, decompress it with your favorite compression tool. Alternately, you
can go to the main Wrox code download page at www.wrox.com/dynamic/books/download.aspx
to see the code available for this book and all other Wrox books.
We make every effort to ensure that there are no errors in the text or in the code. However, no one
is perfect, and mistakes do occur. If you fi nd an error in one of our books, like a spelling mistake or
faulty piece of code, we would be very grateful for your feedback. By sending in errata, you might
save another reader hours of frustration, and at the same time you will be helping us provide even
higher quality information.
To fi nd the errata page for this book, go to www.wrox.com and locate the title using the Search box
or one of the title lists. Then, on the book details page, click the Errata link. On this page you can
view all errata that have been submitted for this book and posted by Wrox editors.
NOTE A complete book list, including links to each book’s errata, is also available
If you don’t spot “your” error on the Errata page, go to www.wrox.com/contact/techsupport
.shtml and complete the form there to send us the error you have found. We’ll check the
information and, if appropriate, post a message to the book’s errata page and fi x the problem in
subsequent editions of the book.
For author and peer discussion, join the P2P forums at p2p.wrox.com. The forums are a web-based
system on which you can post messages relating to Wrox books and related technologies and interact
with other readers and technology users. The forums offer a subscription feature to email you topics
of interest of your choosing when new posts are made to the forums. Wrox authors, editors, other
industry experts, and your fellow readers are present on these forums.
3/28/11 6:50:08 PM
At p2p.wrox.com you will fi nd a number of different forums that will help you not only as you read
this book, but also as you develop your own applications. To join the forums, just follow these steps:
Go to p2p.wrox.com and click the Register link.
You will receive an email with information describing how to verify your account and
complete the joining process.
Complete the required information to join as well as any optional information you wish to
provide, and click Submit.
NOTE You can read messages in the forums without joining P2P, but in order to
post your own messages, you must join.
Once you join, you can post new messages and respond to messages other users post. You can read
messages at any time on the web. If you would like to have new messages from a particular forum
emailed to you, click the Subscribe to this Forum icon by the forum name in the forum listing.
For more information about how to use the Wrox P2P, be sure to read the P2P FAQs for answers to
questions about how the forum software works, as well as many common questions specific to P2P
and Wrox books. To read the FAQs, click the FAQ link on any P2P page.
3/28/11 6:50:19 PM
3/28/11 6:50:24 PM
Introducing Windows Phone 7
WHAT YOU WILL LEARN IN THIS CHAPTER:
Learning the history of the Windows Mobile platform
Understanding the new Windows Phone 7 platform
Understanding the differences between Silverlight and XNA
Using Windows Phone 7 development tools
Creating your ﬁrst Windows Phone 7 app
As you may have noticed lately, mobile application development is at the forefront of the
industry. Not since the glory days of the mid- to late 1990s has it been quite this exciting to be
a software developer. Why all this new excitement about a hardware platform that has existed
for quite some time? You don’t have to look much further than the introduction of cheaper
smartphones to the masses. Even grandma and grandpa probably have a smartphone by now,
and they may want to know when you are going to start writing your own mobile app.
Of course, to do so, you need to pick a smartphone platform. Given that you have picked
this book, it’s safe to assume that you’re going to write applications for the latest entry into
the smartphone world: Windows Phone 7.
Even though we seem to be entering an era where Droid and iPhone are becoming the
dominant platforms for mobile development, it is important to note that Microsoft actually
did have a viable mobile development platform before most of the other companies even had
any plans to enter this market. So although Microsoft is seemingly late to the party, it really
isn’t: It has quite a bit of history and experience in mobile development. In fact, in many ways,
Windows Phone 7 provides developers with an even richer set of tools and programming
opportunities than either the Droid or iPhone platforms.
3/28/11 11:43:32 AM