Windows Phone Development: A Quick Introduction

Windows phoneThis post is to help you get up to speed quickly with the Windows Phone 7 Series development announcements made today at MIX10.

The great news is that applications can be written for Windows Phone 7 Series devices using regular Silverlight (Silverlight 4 RC is now available) and XNA.  No alternate or light versions here, so go ahead and leverage your existing experience.

New to Silverlight?  Head to https://silverlight.net/learn, watch some videos, and try some hands-on labs.  A similar story for XNA – head to the XNA getting started page.

In this post, I’ll focus on the Silverlight story (but those who know me realize I’ll cover the XNA view as well.)

Installing

image Head to the Windows Phone for Developers page and download the developer tools (be sure to review the release notes as well).

The installer will take care of installing the free Visual Studio 2010 Express RC (it will update an existing install of an RC version), XNA Game Studio 4.0 CTP, Silverlight 4 SDK and Tools for Visual Studio 2010, etc.

You can also create applications using Expression Blend 4 Beta as detailed in this post.

A (Very) Basic Application

Let’s keep things simple with this first application.  Start Visual Studio 2010 (Express or another RC version):

VS2010 Start Page

Click “New Project…”

New Project

Windows Phone Application is a basic template, and Windows Phone List Application is helpful if you’ll be using the List and Navigation controls.

You can also create an XNA based game.  Click on the XNA Game Studio 4.0 tab and choose Windows Phone Game (4.0) .  I plan to cover this in a future post.

Choose Windows Phone Application:

Windows Phone Application - Split View

By default, you’ll see a split view with design and XAML surfaces.  You can make changes in either.  From the Toolbox, add a TextBox and Button, dragging/resizing to fit:

Adding Controls

Double-click the button, then in the generated button1_Click event in the code behind file, add code to update the list title:

Button Click Event

Now run it!   (Run Button (F5), or Debug –> Start Debugging).  The Windows Phone Emulator will start (left image) then load your application (middle image). Enter your name and click Button (right image):

Emulator - Initializing Emulator - Application Loaded Emulator - After Button Click

Congratulations, you have a Windows Phone 7 Series application! Sure, not a very interesting application, but I’m sure you’ll do much better.

Debugging

Debugging is basically the same story that you’re used to with other Visual Studio applications.  Set breakpoints (F9) and they’ll be hit when you use the application:

Setting a Breakpoint

Simple enough.  Step through, view locals, change values, add DataTips, etc.

Windows Phone Emulator

The Windows Phone Emulator lets you develop applications without a device and supports GPS simulation, rotation/orientation, skinning, GPU emulation, and more. 

The emulator is default, but if you manage to track down a device, you can change this via the dropdown:

Device Selection

Emulator OptionsNote that you can modify the emulator with a few options.  They are, in order:

  • Close (see next)
  • Minimize
  • Rotate counterclockwise
  • Rotate clockwise
  • Zoom / Reset Zoom
  • Settings (zoom from custom % to fit to screen)

Rotating the emulator shows how your application will look when the orientation (accessible via Page.SupportedOrientations) changes:

 Orientation

You might close the emulator, and you’ll get a dialog:

Emulator - Close Warning

If you’re planning to change code and rerun the application several times, it’s faster to leave the emulator openand instead stop the application through Visual Studio.  This way the emulator won’t need to load and initialize each time.

Learning More

Your first application done, it’s time to learn more:

Enjoy creating those applications!

-Chris