Content area
At its Professional Developers Conference in October, Microsoft distributed a pre-release of the .Net development environment for mobile devices. Dubbed Smart Device Extensions, the new tools extend Visual Studio .Net to support the development of C# and Visual Basic applications for handheld PCs and mobile phones. With these extensions, developers can easily create mobile applications that tap into remote databases, communicate with Web services, and otherwise make business information accessible in places where PCs cannot go.
Pocket PC 2002 handhelds, equipped with fast RISC microprocessors, are capable of running applications that would be too demanding for most Windows CE devices. A major impetus for Pocket PC 2002's new high-performance hardware specification is Microsoft's plan to extend the reach of its Net technology into the mobile device market.
At its Professional Developers Conference in October, Microsoft distributed a prerelease of the .Net development environment for mobile devices. Dubbed Smart Device Extensions, the new tools extend Visual Studio .Net to support the development of C# and Visual Basic applications for handheld PCs and mobile phones. With these extensions, developers can easily create mobile applications that tap into remote databases, communicate with Web services, and otherwise make business information accessible in places where PCs can't go.
The Smart Device Extensions must be installed on a Windows 2000 or Windows XP workstation already running Release Candidate 1 or later of Visual Studio .Net. The package includes IDE (integrated development environment) enhancements, preliminary online documentation, code samples, device emulators, and deployment tools.
A key component of the Smart Device Extensions installation is the .Net Compact Framework, a subset of Microsoft's massive enterprise application framework and multilanguage run-time engine that has been tuned for use on memory-limited and performance-limited hardware. The Pocket PC 2002 version of the .Net Compact Framework retains a surprisingly large portion of the larger framework's functionality. Most of the cuts eliminate server-related features and user-interface elements that do not map well to smaller displays. Mobile phones, given their smaller display and reduced memory, run a substantially reduced subset of Net.
We installed Smart Device Extensions on an AMD Athlon XP 1900+ workstation with iGB of RAM running the release version of Windows XP. Microsoft's minimum recommended development system is a 6ooMHz Pentium III with 320MB RAM, plus 64MB of memory for the emulators. Developers should bypass these recommendations and go for the biggest, fastest machine available. The Pocket PC emulator, an indispensable tool for mobile development, runs slowly, even on AMD's most powerful CPU.
The Smart Device Extensions can detect a Pocket PC connected to a USB or serial port. We tested with the HP Jornada 565. The Visual Studio Net IDE extends its full feature set to mobile application development, but the Smart Device Extensions prerelease lacks a graphical user interface builder. We worked around this limitation by building our user interface in a regular Visual Studio Net project (targeting a desktop Net environment) and pasting the code into our mobile project.
The IDE is aware of the limitations of the targeted device. If you stray outside the bounds of the device - for example, you try to invoke a .Net feature that's not in the Compact Framework - the IDE will warn you and any attempt to build the application will fail. The process of editing and building the application moves quickly because no communication with the device or emulator is required. It isn't until you use the IDE to launch the application that the Smart Device Extensions' deployment module kicks in. It transmits the application and the .Net Compact Framework to the device or emulator (the latter step is skipped if the framework is already present) and launches the program. Currently the .Net Compact Framework applications run slowly, both on the emulators and on actual Pocket PC 2002 hardware. Even so, we were able to create and run several simple C# and Visual Basic programs, including applications that connect to remote database servers and Web services.
The Smart Device Extensions supply adequate proof that .Net technology scales down to mobile devices, and that Microsoft's flagship development environment will make mobile applications as easy to create as those for desktop PCs.
In the coming months, Microsoft will ship Smart Device Extensions updates that incorporate performance improvements, a device-- aware graphical user interface builder, and language expansion that includes, among others, Visual J# and Visual C++ with Managed Extensions. Until then, developers can continue to use Visual C++ and Visual Basic under Visual Studio 6 to create native applications for Pocket PC 2002 devices.
- Tom Yager (tom-yager infoworld.com) is the technical director of the InfoWorld Test Center and moderates the ongoing Ask the Analyst forum at www.infoworld.com/asktheanalyst.
Copyright InfoWorld Publications, Inc. Dec 17, 2001
