Getting Started in Developing Applications for Windows Mobile
Windows Mobile is a powerful platform for running applications on mobile devices. Windows Mobile has at its core Windows CE 5.0, but provides many unique features, such as shell and communications support, that makes it ideal for use in mobile devices such as phones and personal digital assistants. For a comparison of Windows Mobile and Windows CE, see Windows Mobile and Windows Embedded CE - what's the difference.
Windows Mobile devices exist in two main formats: devices with touch screens, and devices without touch screens. Previous releases described devices by using the names Pocket PC and Smartphone, but the distinction between these devices has become blurred. For more information on this topic, see What's New in Naming Conventions for Windows Mobile 6.
For examples of current Windows Mobile devices, please see this Microsoft Web site.
Windows Mobile provides a rich environment for creating applications that enhance interactions with mobile services, communicate with Enterprise-class databases, or play games and other forms of media. There is a large market for commercial software aimed at consumers, and a huge potential for Enterprise markets to create custom Line of Business applications.
The key to developing applications for Windows Mobile devices is Visual Studio. Visual Studio provides the tools necessary to develop applications in native code with Visual C++, or managed code with Visual C#, Visual Basic, or any combination of these languages. The managed languages in particular have extensive support for database access and for the .NET Compact Framework, and they provide you with comprehensive tools for reliable and rapid application development. With full support for debugging and emulation, you have all the tools you need to write applications that range from fast action games up to powerful, enterprise-level, Internet-aware solutions.
When using Visual Studio 2008 to develop applications and services for Windows Mobile devices, you should bear the following in mind:
- Use native code (Visual C++) for high performance, if you need direct hardware access, or if you require a small footprint.
- Use managed code (Visual C# or Visual Basic .NET with the .NET Compact Framework) for user interface-centric applications that require fast time-to-market or rapid application development. Also, use managed code if you want easy access to Web services and data using Microsoft SQL Server 2005 Compact Edition.
- Use server-side code (ASP.NET Mobile Controls) to target a wide variety of devices with a single code set, or when you need guaranteed data bandwidth to the device. For information of developing using web technologies, see the MSDN Mobile Web Development Center.
The default security settings on a particular device might limit your ability to install and debug your application. Try installing the SDK Security Certificates from the default installation's Tools directory; see this. If that doesn't work, use the Device Emulator, or contact your device supplier for information on changing the security polices. For more information, see Deployment, Setup, Security and You and Security, GPS and Resolution Awareness Tools.
The following articles will quickly get you up to speed with developing applications for Windows Mobile devices.
- Installing Developer Tools for Windows Mobile
Lists the software you need to install before you can develop Windows Mobile applications.
- Walkthrough: Create and Run a Simple Windows Application In Managed Code
Explains how to create, build and run a simple Windows Mobile application using .NET Compact Framework and either Visual Basic or Visual C#.
- Walkthrough: Create and Run a Simple Windows Application In Native Code
Explains how to create, build, and run a simple Windows Mobile application using Visual C++.
- Code Samples for Windows Mobile
Presents summaries and links to over 100 code samples, written using both native and managed code.
Device Emulator and Debugger
The following topics provide information about using the emulators, debuggers, and Windows Mobile-specific programming techniques.
- Device Emulator for Windows Mobile
Introduces the tool that mimics the behavior of a hardware platform for Windows Mobile.
- Debugging Windows Mobile Applications
Lists resources to help you debug applications, both on the emulator and on a physical device.
Resources on the Web
- Visual Studio Developer Center
Provides links to resources for the Visual Studio 2008 developer community.
- Microsoft Learning Resources
Provides an overview of online resources for learning more about Visual Studio 2008.
- Windows Mobile site on MSDN
The official web site for Windows Mobile development.
- Windows Mobile and Windows Embedded CE - what's the difference?
Explains the differences between Windows Mobile and the Windows Embedded CE 6.0 operating system.