I’m a developer, how do I develop Windows Phone 7 applications?
The first thing to know about developing Windows Phone 7 (WP7) applications, and perhaps one of the biggest deviations from past Windows Mobile platform applications is that they are now built with Silverlight. Silverlight is Microsoft’s rich client application framework that lends itself perfectly to the direction Microsoft has taken with WP7 and more specifically, the target audience for the applications. The second biggest change in direction for WP7 is the audience in which Microsoft will target as its consumer base. This change cannot be overlooked by a developer who plans to market his or her applications with the intention of making money. If you sell software development services, you too will want to know what your clients are looking for, and what the technology can produce. For a deeper look into WP7 and the direction Microsoft plans to take with it, refer to this blog Rick Gipson’s Blog.
If you have any experience with programming in Silverlight, you know that it is written in a language called Extensible Application Markup Language, or XAML (pronounced “zamel”). Silverlight has primarily found its place on the web, where it is used to create rich internet applications (RIA). In these applications, users experience a robust, visually advanced, interact application experience. Before WP7, this user experience did not exist in Windows Mobile applications. Before, Windows Mobile applications were built primarily using Win Forms and were anything but “rich” and “visually advanced”. Enter Silverlight. If you are new to Silverlight, or would like a refresher course with WP7 in mind, visit this site where you can read developer guides, take part in hands-on labs, or watch getting started videos. Microsoft has also released a framework that allows developers to create rich, 3D gaming applications called XNA Game Studio 4.
Visual Studio 2010, Expression Blend and .NET 4.0
Visual Studio 2010 is required for Windows Phone 7 development. If you do not have the full version of VS2010, an express version is packaged with the developer tools (link below). In addition to a revamped Integrated Development Environment (IDE) with additional support for phone emulation and other toolset integration, Visual Studio 2010 includes the newest version of the .NET Framework, version 4.0. A subset of this framework is available for WP7 applications, where developers can leverage the code-behind of their Silverlight pages and controls to write additional code in their preferred .NET language (C# or VB.NET). An alternative IDE for WP7 developers is Expression Blend 4. Similarly with Visual Studio 2010, the developer tools will include an express version of Expression Blend 4. This IDE incorporates a much more design-like approach to building WP7 applications. Visual Studio and Expression have built-in integration that allows developers to develop a single application in parallel between the two IDE’s. Once you have successfully installed all of the tools necessary to develop Windows Phone 7 applications, you are probably ready to see your “Hello World” application in action. To facilitate this, Microsoft has incorporated Virtual Machine technology to allow a developer to run an actual WP7 environment using an emulator that will show exactly what the end-user will eventually see. It is important to note the difference between an emulator and a simulator (what most platforms use). A simulator is an application running within the host machine’s operating system that pretends to be the actual device. An emulator is a virtual machine running the actual phone operating system that is independent from the host machine’s operating system. This allows the developer to test and develop with an environment that most closely resembles the final product.
Windows Phone 7 Devices
One of the biggest pain points for Windows Mobile developers in the past has been the lack of technically guidelines or requirements for devices that run Windows Mobile. In addition to the lack of hardware-specific requirements for the devices, the Original Equipment Manufacturer (OEM) had some control over the specifics for the operating system, allowing them to customize it to fit their needs. With this many variations of device/OS combinations, it became literally impossible to develop applications with any degree of certainty for how it would inevitably function on the end-user’s phone. With operating system updates, phone upgrades, newer versions of Windows Mobile and the like, it became a fruitless endeavor for developers to “keep up” with technology and the software updates that came with the growing number of potential user environments. Microsoft decided to fix this problem by coming up with standard device requirements that OEM’s must abide by to run Windows Phone 7 on their phones. Not only do the OEMs need to follow certain guidelines, they no longer have the ability to go in and tweak the actual WP7 operating system, like they could with Windows Mobile. This deviation from the norm should not be undervalued for the entrepreneurial application developer. With this change, developers can trust that when they put an application into the Marketplace, all phones running WP7 will be fully compatible and fully functional.
Windows Phone Developer Tools include the following components:
· Visual Studio 2010 Express for Windows Phone
· Windows Phone Emulator Resources
· Silverlight 4 Tools For Visual Studio
· XNA Game Studio 4.0
· Microsoft Expression Blend for Windows Phone