[API] Mobile기반 windows 개발 Tools 소개
Microsoft Corporation May 2005 Applies to: Summary: This article is a central reference point that describes the tools and supporting technologies for developing applications for Windows Mobile-based devices. This article provides a summary of each tool and the platforms it supports. It also provides an overview of common development scenarios and provides guidance about how you can select the preferred tool and technology to apply to each scenario. (13 printed pages) ContentsIntroduction IntroductionSince launching the Microsoft Windows CE operating system in 1996 and the Handheld PC version 1.0 product shortly thereafter, Microsoft has helped developers target Windows Mobile-based devices with a selection of powerful and increasingly specialized tools that address specific needs and application tasks. To simplify the Windows Mobile application development experience and improve developer productivity, Microsoft is committed to delivering a single integrated development environment (IDE) and platform that meets all mobile application developer needs across all Windows Mobile-based devices. With the release of Visual Studio 2005, Microsoft delivers on this commitment by supplying a single IDE for native, managed, and server-side application development that enables targetting Windows Mobile 2003, Windows Mobile 2003 Second Edition, and Windows Mobile 5.0 platforms. Developers can target earlier devices by using either eMbedded Visual C++ or Visual Studio .NET 2003 for native and managed code development respectively. Although Microsoft offers different software development kits (SDKs) for building applications for Windows Mobile-based devices, the release of Windows Mobile 5.0 has brought the platforms closer together to facilitate maximum code reuse between the two platforms. To understand more about the similarities and differences between Windows Mobile 5.0 software for Pocket PC and Smartphone, visit the Windows Mobile home page. This article provides developers with an understanding about the current and future Windows Mobile application development tools. It helps them decide which offerings are most suitable for specific needs, when to use each tool, and what tools they need to get started on their specific type of project. This article also provides information comparing the applicablility of the tools to specific situations. Tools for Mobile Application DevelopmentThe following sections provide an overview of the tools currently available for Windows Mobile-based devices. You should consider the application requirements and target devices when choosing when to use native, managed, or server-side code:
You should also consider the versions of Windows Mobile:
When you read the descriptions of the tools, you should consider the context (native, managed, or server-side code) and the versions of Windows Mobile software that you want your applications to target. Visual Studio 2005 and Smart Device ProgrammabilityVisual Studio 2005 is the recommended tool for Windows Mobile development. Whether you are developing using native or managed code, Visual Studio 2005 is the single tool for Windows Mobile 2003, Windows Mobile 2003 Second Edition, and Windows Mobile 5.0 application development. Visual Studio 2005's Smart Device Programmability features offer the most productive Windows Mobile development environment yet. Visual Studio 2005 integrates the best device development features from previous tools and adds several new features including a new, faster ARM emulator, a faster debugger, new data and UI designers, and multiple-platform support. Developers can target Windows Mobile natively with Visual C++, or they can target the .NET Compact Framework with managed code by using C# or Visual Basic .NET. Visual Studio 2005 includes support for versions 1.0 and 2.0 of the .NET Compact Framework, which is specifically designed for resource-constrained devices, and easily enables distributed mobile computing in either connected or disconnected scenarios. The extensive class library, which is available through the .NET Compact Framework, allows developers to write applications much faster than by using traditional tools. It also works well for applications that use Web services or use ADO.NET. Developers can use C# or Visual Basic .NET as their programming languages. Visual Studio 2005 includes support for both .NET Compact Framework 1.0 and 2.0. You should use the .NET Compact Framework for:
Visual Studio 2005 includes the SDKs and emulator images for Windows Mobile 2003 and Windows Mobile 2003 Second Edition. To target Windows Mobile 5.0, you need to download and install the Windows Mobile 5.0 SDK for Pocket PC and the Windows Mobile 5.0 SDK for Smartphone, which also include the emulator images. You should use Visual Studio 2005 for:
For more information, see the Visual Studio Developer Center. Visual Studio .NET 2003 and Smart Device ProgrammabilityVisual Studio .NET 2003 does not support native code development for Windows Mobile platforms. However, the Smart Device Programmability features of Visual Studio .NET 2003 allow developers to debug the .NET Compact Framework 1.0 applications on Pocket PC 2002, Pocket PC 2000, Windows Mobile-based devices, and Windows Mobile 2003 Second Edition-based devices. The support for Pocket PC 2002 is built in; Windows Mobile 2003 and Windows Mobile 2003 Second Edition require the user to download and install additional SDKs and emulator images. It does not include support for .NET Compact Framework 2.0. Visual Studio 2005 does not support deploying and debugging Pocket PC 2002 and Pocket PC 2000 applications. Both of these platforms require the developer to install the .NET Compact Framework separately. You should use Visual Studio .NET 2003 when:
For more information, see the Visual Studio Developer Center. eMbedded Visual C++ 4.0 and Native DevelopmentMicrosoft eMbedded Visual C++ 4.0 with Service Pack 4 supports native application development for Windows Mobile 2003 and Windows Mobile Second Edition software for devices. However, the release of Visual Studio 2005 provides new features for native code developers that eMbedded Visual C++ 4.0 does not, for example, Intellisense, the new ARM emulator, new versions of MFC and ATL, and improved wizards and design-time user interface. You should use eMbedded Visual C++ 4.0 with Service Pack 4 when:
eMbedded Visual Tools 3.0 and Native DevelopmentMicrosoft eMbedded Visual Tools 3.0 supports native application development for Pocket PC 2000, Pocket PC 2002, and Smartphone 2002. The tools provide an entry-level IDE for developers to build mobile applications, including necessary compilers, debugging facilities, and platform documentation. eMbedded Visual Tools 3.0 includes Microsoft eMbedded Visual C++ 3.0 and eMbedded Visual Basic 3.0. Both tools are separate development environments and do not require any other development environments, such as Microsoft Visual Studio or Visual Studio .NET, to run. To target a Windows Mobile-based device, eMbedded Visual Tools 3.0 requires a platform SDK for the device family you want to target. The 2002 edition of the eMbedded Visual Tools 3.0 includes the SDKs for Pocket PC 2002 and Smartphone 2002. eMbedded Visual C++ 3.0The Microsoft eMbedded Visual C++ 3.0 development system offers the native code C++ compiler for Windows Mobile-based development. It can target all devices based on Microsoft Windows CE version 2.11 and version 3.0 if the correct SDK is installed. Software emulators are available for Pocket PC 2002 and Smartphone 2002 devices. When Pocket PC 2002 was released, Microsoft introduced a newer emulator for the Pocket PC 2002 SDK that is closer to a real Windows Mobile-based device. The new emulator runs true Windows CE binaries in a virtual computer shell. The Smartphone 2002, Pocket PC 2003, and Smartphone 2003 SDKs for eMbedded Visual C++ 3.0 also use this emulator. eMbedded Visual Basic 3.0Developers cannot use eMbedded Visual Basic to develop applications for Windows Mobile 2002-based Smartphone or Windows Mobile 5.0-based devices. Due to this and other factors, including the strong interest in the development community about Visual Basic .NET, the eMbedded Visual Basic technology has been phased out and replaced by the more powerful Visual Basic .NET language. Microsoft recommends that developers use Visual Basic .NET to create all new Pocket PC applications and use eMbedded Visual Basic for maintaining older applications for legacy devices. If you want to migrate your eMbedded Visual Basic application to Visual Basic .NET, Microsoft has provided several resources:
You can also use these third-party resources: You should use eMbedded Visual Tools 3.0 when:
ASP.NET Mobile ControlsASP.NET Mobile Controls complement Smart Device Programmability and the .NET Compact Framework. ASP.NET Mobile Controls extend the .NET Compact Framework and Visual Studio .NET power for building mobile Web applications by enabling ASP.NET to deliver markup to a wide variety of mobile devices. With this approach, developers can use Visual Studio .NET to build a single mobile Web application that automatically adapts its page rendering for a wide variety of devices such as Internet-enabled cell phones, pagers, and personal digital assistants (PDAs), like the Pocket PC. Visual Studio .NET also eases development tasks because it is integrated into the Visual Studio IDE, allowing developers to build mobile Web applications by dragging and dropping controls onto a mobile Web form. ASP.NET does not install any components on the client device. Instead, it uses server-side logic to adapt the rendering to a specific device's Web browser. It generates Wireless Markup Language (WML), HTML, and compact HTML (cHTML). In addition to adaptive Web page rendering, ASP.NET offers a rich framework for customization and extensibility, providing an easy means of extending the controls to take advantage of new and different devices that will enter the market. Additionally, ASP.NET lets developers control the rendering for a specific device or class of devices within the same programming model, and allows developers to easily add support for new devices without re-authoring their mobile Web applications. You should use ASP.NET Mobile Controls for:
Note ASP.NET Mobile Controls do not require any client-side installation. However, the target device must have a client Web browser. Database TechnologiesWhen choosing a Microsoft database technology, you should consider the data type, access, and synchronization requirements of your Windows Mobile application. You can use the following options to help you make a choice:
SQL Server 2005 Mobile Edition and SQL Server Windows CE EditionMicrosoft SQL Server 2005 Mobile Edition is compact database for rapidly developing applications that extends enterprise data management capabilities to mobile devices. SQL Server 2005 Mobile Edition is the successor to Microsoft SQL Server Windows CE Edition (SQL Server CE) version 2.0. Both versions are powerful tools that make it easy to develop mobile applications by supporting familiar Structured Query Language (SQL) syntax and by providing a development model and API consistent with SQL Server. The database engine exposes an essential set of relational database features, such as an optimizing query processor and support for transactions and assorted data types, while maintaining a compact footprint that preserves precious system resources. Remote data access and merge replication ensure that data from SQL Server databases is delivered reliably; can be manipulated offline; and can be synchronized later to the server, making SQL Server Mobile and SQL Server CE ideal for mobile and wireless environments. Both versions are designed to integrate with the .NET Compact Framework through Visual Studio, simplifying database application development for devices. By using the SQL Server CE or SQL Server Mobile Edition data provider to manage code by means of the common language runtime, mobile application developers can build highly extensible applications with offline data management capability for disconnected scenarios. You should use SQL Server CE or SQL Server Mobile Edition as a complement to your development tools when:
SQL Server Mobile Edition includes the largest number of new and improved features in any version of SQL Server CE since the original version, SQL Server CE 1.0. SQL Server Mobile Edition includes enhancements over SQL Server CE 2.0 including:
You must use the SQL Server Mobile Edition version if you want to target Smartphones or make use of Visual Studio 2005's new data designer features. For more information about SQL Server CE 2.0, see SQL Server CE. To learn more about SQL Server Mobile Edition's many enhancements over SQL Server CE 2.0, see Introducing SQL Server Mobile Edition. EDB and CEDBFor small, lightweight, linear datasets, native developers might consider using the EDB or CEDB database technologies that ship In-ROM as part of the Windows Mobile platform. EDB and CEDB are embedded database engines that provide core functionality for a Windows Mobile application. A developer can create an object store (called a volume) that can contain multiple databases. The volume is file-based and therefore can be easily copied or moved. EDB is an updated and enhanced version of CEDB. EDB replaces CEDB in Windows Mobile 5.0 and includes support for:
EDB is function for function the same as CEDB, having the same function names and prototypes. New applications should migrate to EDB because CEDB will not be available in the Windows Mobile 5.0 SDK. Existing CEDB applications will work on Windows Mobile 5.0–based devices; however, they will likely not work on future releases of Windows Mobile. The article Comparing EDB with Other Databases compares the EDB, CEDB, and SQL Server CE database engines; compares their features; and highlights the data compatibilities among the three. Tools Comparison ChartsThe following tables help provide clarity around the support an compatibility across the variety of tools, technologies, and platforms available when targeting current and legacy Windows Mobile–based devices:
Table 1. Overview of IDE capabilities
Table 2. .NET Compact Framework Tools and OS Support
Table 3. Database Technology Support
* In Windows Mobile 5.0, CEDB is In-ROM but Deprecated. Developers should use EDB instead. Development ScenariosVisual Studio 2005 is the recommended tool for Windows Mobile development. Whether you using native or managed code, Visual Studio 2005 is the single tool that you can use to develop applications for Windows Mobile 2003, Windows Mobile 2003 Second Edition, and Windows Mobile 5.0. If you need an alternative to Visual Studio 2005 or you are looking to target earlier versions of Windows Mobile the recommended development tool is based on your choice of managed or native code. If you do not have access to Visual Studio 2005, you can use Visual Studio .NET 2003 with the .NET Compact Framework 1.0 to target Windows Mobile 2003 Second Edition and earlier (except for Smartphone 2002). For native code development, you can use eMbedded Visual C++ 4.0 with SP4 to target Windows Mobile 2003 and Windows Mobile 2003 Second Edition software. To target older versions (Pocket PC 2000, Pocket PC 2002, Smartphone 2002), you can use eMbedded Visual C++ 3.0 for native code development. With the release of Visual Studio 2005 and its native development capabilities, Microsoft does not recommend the use of eMbedded Visual C++ 4.0 or eMbedded Visual Tools 3.0 for new application development. These earlier tools are supported simply to provide developers with a means of maintaining older applications. Server-Side or Client-Side Code?The decision to use server-side or client-side code depends on several criteria. Each application scenario is different; however, these criteria should help you select the best solution for the users of your application:
What Do You Need to Develop for Windows Mobile-based Devices?The tools that you need to develop for Pocket PC and Smartphone depend on what you are trying to develop and which device you are targeting. In most cases, you will need to have an IDE and an SDK or extension for the device you want to target. The good news is that you can write applications to target the complete range of Windows Mobile-based devices from one computer because all of the necessary tools you need to do so co-exist. For the recommended installation order, see Appendix A. Currently, the eMbedded Visual Tools IDE and necessary SDKs are available for download over the Internet. Visual Studio is available from many software retailers and is part of most MSDN subscriptions. Visual Studio Express Editions do not support Smart Device development. Which Tool …When?The following are scenarios or questions that can help you to decide what tool you need. Performance, control, or footprint are important to me. For example, I want to write a game, device driver, or an Active X component…. If you plan to target Pocket PCs and Smartphones that run Windows Mobile 2003 software and later, you should use the native code development capabilities of Visual Studio 2005. Visual Studio 2005 has built-in support for Windows Mobile 2003 and Windows Mobile 2003 Second Edition. If you want to target Windows Mobile 5.0, you also need to download and install the Windows Mobile 5.0 SDKs. You can download the SDKs and order a trial version of Visual Studio 2005 from the Developer Download Center. To support earlier versions of Windows Mobile, you need to download the eMbedded Visual Tools 3.0 – 2002 Edition. I want to develop an application quickly in a secure and reliable environment. I might want to access Web services.… I want to write a client application that has maximum code portability.… I want to reuse my Visual Studio, Visual C#, Visual Basic .NET, or .NET Framework skills…. Microsoft recommends you use the Smart Device Programmability features in Visual Studio 2005 or Visual Studio .NET 2003. The .NET Compact Framework 1.0 is built into Windows Mobile-based devices starting with Windows Mobile 2003 software and later. Visual Studio .NET 2003 allows you to build applications that run on Pocket PC 2002, Windows Mobile 2003, Windows Mobile 2003 Second Edition, and Windows Mobile 5.0. Visual Studio 2005 allows you to build and debug applications for Windows Mobile 2003, Windows Mobile 2003 Second Edition, and Windows Mobile 5.0. I want to target Windows Mobile 2003, Windows Mobile 2003 Second Edition, and Windows Mobile 5.0 based devices with a shared code base. Whether you are using native or managed code, you can maintain one project and easily share native and managed code and target multiple SDKs with the multiple-platform support of Visual Studio 2005 — enabling you to more easily develop for multiple device types and operating system versions. I already have an application for Windows Mobile 2003 software, and I want to update it to support the new orientations and resolutions enabled by Windows Mobile 2003 Second Edition and Windows Mobile 5.0. If you are using Visual Studio 2005, you already have the tools needed to support Windows Mobile 2003 Second Edition software. If you are using Visual Studio .NET 2003 or eMbedded Visual C++ 4.0, you need to download the Developer Resources for Windows Mobile 2003 Second Edition, which contains technical articles, code samples, and helper libraries. You also need to download the emulator images for Windows Mobile 2003 Second Edition software. These downloads are available from the Developer Downloads section of the Windows Mobile Web site. I want to maintain an application for Pocket PC 2000, Pocket PC 2002, or Smartphone 2002 that is written in eMbedded Visual C++. You should download the eMbedded Visual Tools 3.0 – 2002 Edition, which contains eMbedded Visual C++ and the needed development environment, emulator, and SDKs for Pocket PC 2000, Pocket PC 2002, and Smartphone 2002. I want to target Smartphone 2002…. You should download the eMbedded Visual Tools 3.0 – 2002 Edition. I want to maintain an application written in eMbedded Visual Basic…. You should download the eMbedded Visual Tools 3.0 – 2002 Edition, which contains the development environment, emulator, and SDK for eMbedded Visual Basic. Consider porting your application to the .NET Compact Framework by using Visual Basic .NET 2003. For more information about this topic, see Moving from eMbedded Visual Basic to Visual Basic .NET. I want to write an application that targets a wide variety of mobile devices (including those based on non-Windows Mobile operating systems) that can operate in a thin-client environment. You should use ASP.NET Mobile controls as part of Visual Studio .NET 2003. You can find more information at ASP.NET Mobile Controls. ConclusionMicrosoft is committed to the long-term success of the mobile device market and to helping developers deliver rich, highly functional mobile applications for enterprise users and consumers. The Windows Mobile-based application development languages currently available provide an incredible range of power and flexibility. As new generations of mobile devices appear on the market, Microsoft will continue delivering increasingly sophisticated and unified development tools that enable developers to rapidly design and deliver new applications that take advantage of technologies such as Web services and systems that exploit the power of .NET-based integration. The availability of these tools will give the mobile application development community the tools it needs to continually provide rapidly growing markets with the applications they need. Appendix A: Recommended Installation Order of Development ToolsThe recommended tool for Windows Mobile development is Visual Studio 2005. If you are using any other tools in addition to Visual Studio 2005, special care must be taken to install the development tools in the correct order. To ensure the maximum interoperability between the different tools for developing for Windows Mobile software, it is recommended that you install the tools and SDKs in the following order. If you do not have or do not need one of the tools, you don't need to obtain it for the other tools to interoperate. The following installation steps require you to be logged onto to your computer by using an account with local administrator privileges. To prepare your computer for the correct installation order
To install the development tools in the correct order
|