for the Road By Richard V- Dragan Illustrations by fiatt Herring

124 PC MAGAZINE MAY IS, 2004 www.pcmag.com MOBILE DEVELOPMENT

have a direct impact on the bottom line. When PC Magazine last covered mobile development in the fall of 2002, mobile corporate applications were just emerg- ing. Since then handhelds have become more powerful, with faster CPUs and more memory, and development tools have come a long way. For this story, we evaluated four mobile development tools by building our own application to help taxi drivers record their fares. We tested the mobile versions of two com- peting programming environments: Java 2 Micro Edition and .NET Compact Framework.

DEVELOPERS' DECISION: J5f1E OR .NET CF? Sun Microsystems' Java beat Microsoft to the punch in adding mobile capabili- ties to its programming environment via J2ME and reaching out to all vari- eties of mobile devices, including cell phones and Palm OS PDAs. Microsoft .NET CF is comgetitive thanks to its richness and ease of use, but it works only with Pocket PC-based devices. Pocket PC devices are expensive but powerful and favored by big enterprises. The rise of Pocket PC coincides with the launch last year of.NET CF, which gives programmers a subset of the full .NET Framework for desktop and server devel- opment. Its unified model means an easier development process, because what works on a desktop works on a mobile device. Besides offering a rich set of controls, fea- Clear skies ahead for mobile tures for enterprise developers like Web services support are standard in .NET CF. enterprise applications- That said, |2ME still reaches the widest range of handhelds. "With Microsoft, you etBlue Airways may be known cradle their handhelds at the end of the can run your software on a S600 device," for its high-tech efficiencies, but day. In only seven months, "the application its system for tracking cargo- has paid for itself." says Ryan Plant, man- computers and airplane parts— ager of development and systems architec- IN THIS STORY that it hauls between hubs in ture at the airline. Now the company is 127 Crossfire 5.0 •••OO JNew York; in Long Beach. California; and considering rolling out the same applica- 127 Borland Mobile Studio L5 around the country was decidedly low- tion for its consumer cargo business. •••OO tcch. As the airline grew, its inventory Such success stories are playing out in tracking needed to keep pace with the more and more businesses as mobile ap- 128 IBM WebSphere Studio Device times too. JetBlue turned to a mobile ap- plication development rides a definite Developer 5.G ••••o plication to solve the problem. upswing and heavy hitters like Microsoft 134 Microsoft Visual Studio .NET Working for three months, three of its and IBM deliver robust tools for building Compact Framework ••••o in-house programmers built an application mobile apps. These kinds of projects typi- _126 How We Tested in Microsoft Visual Studio .NET 2003 that cally break even in six months, according 127 Editors' Choice lets personnel on the ground track ship- to Gartner Research, and analysts there ^28 Scorecaj;d ments. Using Pocket PC-based handhelds forecast an 80 percent increase in the 130 Sybase Serves Up On-the-Go number of mobile applications in use from with bar code scanners, up to 20 people in Databases each cargo center can scan shipments and 2003 to 2004. By giving workers in the 132 Summary of Features store time stamps and destination infor- warehouse, showroom, or customer loca- mation. All the information is synchro- tion access to critical enterprise informa- ~134 J2ME vs. Microsoft .NET CF-. nized with a main database when they tion, mobile .applications arc starting to Comparison Table

www.pcmaa.com MAY 18, 2004 PC MAGAZINE 125 says David Rivas, CTO of Sun Microsys- Although Java apps can run on vastly tools for handhelds and allows for a wider tems' Consumer and Mobile Systems more hardware than .NET CF can, being selection of display elements. Group. "With J2ME, apps can run any- first to market has meant some growing The problem is that current products where from a giveaway cell phone to that pains. J2ME includes a bewildering set of don't support the two equally, providing $600 device." In fact, Microsoft's emerging configurations that support portions of plenty of MIDI' options but few for Person- Smartphone 2003 SDK is available for free Java's core toolset, and profiles that address al Profile. So J2ME can do everything .NET download and can extend .NET CF to specific devices. J2ME developers have two CF can do, but all its -capabilities have not many newer (though certainly more ex- options for mobile devices: the Mobile In- yet appeared in force on the ground. This pensive) phones, hut support for it Von't formation Device Profile (MIDP), which al- kind of incremental improvement is not an be built into .NET CF natively until the lows for simple interfaces on cell phones, issue for Microsoft, which has complete next version rolls out in 2005. and the Personal Profile, which presents control of its standard. The best example of this is Web ser- vices support. Sun Microsystems has de- fined the standard, but it's still missing from most shipping J2ME applications. It's How We Tested up to hardware manufacturers to deliver o test the mobiie development tools for this story, we built two functionally implementations of newly approved Java equivalent applications for tracking taxi fares: one for J2ME and one for .NET CF. features, but even these will differ slightly Rather than using a clipboard and pencil, our high-tech taxi drivers can record from one device maker to the next. Test- trips and fares on their handhelds and receive reports and alerts from the dispatcher. ing on two or three handhelds and ac- Building the program, we focused on the key elements of a mobile application para- counting for subtle differences is a bane of digm: interface design, mixed-modality connectivity, and Web services. Java's mobile development. We first built a simple server-side system using J2EE running on Tomcat 4.1, with Web services IBM AT BAT powered by AXIS, an open-source implementation In ffie meantime, IBM has stepped for simpler SOAP-based services on Java. This up to the plate to deliver en- system connected to a database running on Mi- hancements to the I2ME platform, crosoft SQL Server 2000, We populated the data- relying on Sim Microsystems' stan- base with drivers, fares, customers, and alerts with dards but implementing them support for several hundred sample records for faster and adding proprietary each table. We also included a simple, Web-based technology. IBM provides a Java JSP administration interface for managing alerts Virtual Machine (fVM) that can be and basic server configuration. deployed on PDAs running Palm We then created six soAP-based Web services OS, Pocket PC, Nokia, and Zaunis. calls on our server, exposing feature sets for mobiie Based on open-source Eclipse clients. We used Web services to add fares to the technology, IBM's new WebSphere remote database (a transactional operation) and to Device Developer is proof that query alert and report information (read-only func- J2ME can rival .NET CF even for the tions). This approach matches current enterprise- most robust devices. level mobile applications, which typically expose Another option is Borland Soft- business logic to different clients via SOAP-based ware, which provides a solid set of Web services. Our system exposed the methods of Java tools with its JBuilder Mobile these calls via WSDL so they could be consumed Edition. And it offers native-code easily by the mobile-development tools. targeting for Symbian, Nokia, and For our fare-tracking system, we supported Palm in C++ with its C++BuilderX intermittent connections and synchronization via local storage on J2ME and .NET CF. product. Though Borland is bucking the Before a fare is posted to the database, the client checks for an available network trend with a strong offering in native code connection. If there's no connection, the client stores fare records in XML on the local on an older language, it has added support device. When the connection becomes available, these local records are read and for Web services too. bringing the aging posted via Web services calls to the database. On .NET CF, we stored these XML player up to XML-based standards for records to a text file. On J2ME. which has no support for local files, we stored these sharing data and processing. temporary XML records with the standard J2ME RecordStore APIS, which are support- And finally, AppEoi^e strikes a balance ed even on today's lightweight J2ME-enabled cell phones. between the old and the new with its We made the interface simple. Mobile applications for smart phones and even Crossfire tool, which piggybacks on top of PDAs must take into account the limited real estate and navigation tools of the de- Microsoft Visual Basic .NET. This tool lets vices. Furthermore, the J2ME version has less visual precision because of inherent programmers design software using com- programming restrictions. For example, we could not place controls on the screen or ponents, but unlike Microsoft's tools, it use screen tabs. targets a range of mobile devices beyond J2ME and .NET CF were well matched with respect to data access and Web services I'ocket PC, including Symbian, Palm, and connectivity. The clear advantage of J2ME is the breadth of mobile-device support. For recent Nokia phones. '" ^^ a rich, well-designed interface, however, look to .NET CF.— RVD and Sahi! Cambhir Note that Sun Microsystems' own de- velopment title, Java Studio Enterprise, is

126 PC MAGAZINE MAY IS. 2004 www.pc1n3g.com MOBILE DEVELOPMENT

reviewed in this issue's First Looks sec- tion. Release dates for Studio Enterprise's mobility modules are still being deter- M WebSphere Studio Device Developer 5.6 mined, so the product was not available for this roundup. Fbr building the most versatile mobile applications that run on the widest Deploying mobile applicatioas can save variety of handhelds, IBM WebSphere Studio Device Developer 5,6 is our time and money by eliminating paper pick. WebSphere's reasonable price and easy set-up iet you maximize forms and increasing efficiency, and Jet- budget and time resources, and its auto-update i

Crossfire 5.0 $1,000 direct (includes a year of software updates and hind events. AppForge is adding C# lan- though Crossfire includes two controls for tech support). AppForqe Inc., www,appf0f9e.com, guage support later this year. The compa- network connectivity (for HTTP and for •••00 ny's Enterprise Developer Suite (another TCP sockets), it does not support Web ser- With cross-platform support for hand- $800 direct) includes a year of software vices directly. On the plus side. Crossfire helds, AppForge's Crossfire 5.0 ($1,000 di- updates plus technical support. supports coding to Palm. Symbian, and rect) offers the familiarity of a traditional One of Crossfire's strong points is its Pocket PC databases with separate APIs Visual Basic-like approach to program- nonvisual or advanced components, which for querying and updating data. ming with components. If you need access provide easy access to device-specific fea- As you build and test code. Crossfire to scanners, serial ports, or multimedia on tures like serial ports, bar code scanners, uses its own emulator that runs inside Vi- your workforce PDAs, this tool may be ex- cameras, and more. Other controls let you sual Studio and makes good use of actly what you need. work with sound, still pictures, and movies. Microsoft's IDE for solid debugging capa- Installing Crossfire was effortless, as it (Conversion utilities are also provided to bilities. Starting and stopping the emula- piggybacks on top of any installation of bring graphics, movies, and databases onto tor is snappy. We liked the short Microsoft Visual Basic .NET. (AppForge the Palm platform.) Instead of forcing us edit-compile-run cycles here. Until Micro- also ships an older version of its toolset to dig into native code to access more ad- soft adds edit-and-continue to its .NET of- called MobileVB, if you don't want to use vanced device features. Crossfire offers an ferings, you can arguably work faster in VB.NET.) With an IDE any .NET developer approach familiar to any VB developer. Crossfire than in .NET CF. will find familiar. Crossfire lets you use These advanced controls help you de- When you are ready to deploy your components to build forms-based applica- sign rich mobile-client applications, but application. Crossfire's Booster add-on tions for mobile devices. But it also brings we noticed that not all components are automates bundling up your application. A cross-platform support into the mix with supported by all devices. The documen- nicely detailed dialog box let us control a run-time module called AppForge Boost- tation doesn't help with this, cither, Al- specific options for different deployment er, which targets Palm, Nokia platforms. Series 60. Ericsson P800 and Crossftre can create feature- l^WO, and Pocket PC/Windows rich clients on three significant CE devices. The Booster run- mobile platforms, all from the time requires about 1MB of code same code base. What it lacks in to deploy. Web services support, it makes We built part of our taxi- up for in ease of use. tracking app with Crossfire using user interface widgets on Borland Mobile Studio 1.5 forms. The project wizard let us $699 direct Borland Software Corp., choose a different size screen www.borland.com. •••OO for each platform. You can Borland Mobile Studio 1.5 of- change the size of the display at fers an ambitious solution for any time and reuse code for a developing mobile applica- new device easily. tions in both Java and C++. The As with traditional VB, you real strength of this toolset is drag and drop Crossfire objects the very solid JBuilder Mobile onto forms, change properties, APPFORGE'S CROSSFIRE provides excellent support for Palm OS, Edition Java compiler for cre- then add snippets of code be- including utilities to convert graphics, fonts, and databases. ating mobile software.

invw.|K:mag.com MAY 18, 2004 PC MAGAZINE 127 MOBILE DEVELOPMENT

IBM WebSphere (which applications in C*+ for Symbian (used in still shows its open- Nokia and other devices) is a powerful op- source Eclipse roots). tion. With a little digging, you can also tar- For mobile develop- get the Microsoft platform with the ment. JBuilder provides included SDK for C++. emulators from Sun Mobile Studio also includes support for Microsystems to test Web services in C+* with an add-on li- J2ME MIDP projects, brary and wizard that consumes WSDL plus the Nokia SDK and and generates the appropriate stub files. A emulators (including quick look at the generated C++ code Series 60 support), showed some real syntactical complexity. though this was tricky Newer languages like Java and C# make to get working. For pro- Web services programming a lot easier for THE CORNERSTONE of Mobile Studio 1.5 is JBullder, a powerful jects in Asia, Mobile developers. For writing games and other yet approachable Java compiler. Studio also bundles applications that take full advantage of DoCoMo tools. particular device hardware, C++BuilderX We evaluated Mobile Studio as part of Borland doesn't attempt to go beyond certainly fits the bill. Borland Enterprise Studio for Mobile Sun Microsystems' standards for J2ME, so JBuilder X Is a very approachable, pow- ($6,999 direct), which comes with 11 CDs Mobile Studio doesn't support Web ser- erful, and versatile Java compiler tool. that took over 2 hours to install—by far vices or lightweight databases, which IBM Though the Java and C++ tools can share the most complex installation in our does. We relied on the standard Record- an interface, developers have little reason roundup. Though this extensive bundle is Store APIs to simulate a local database in to use both languages at the same time. more of a grab bag than a synergistic our taxi application. Support for the Businesses planning mobile development whole, Borland's JBuilder Mobile Edition emerging J2ME Personal Profile is sparse, projects will probably pick and choose for Java and C + + BuilderX are the core though you can use a Palm OS emulator from within the larger Enterprise Suite tools for mobile development. The enter- with the product if you roll up your toolset, but Mobile Studio is a fine choice prise suite adds end-to-end control of the sleeves a little. for cross-platform handheld development. entire project lifecycle, including UML The built-in emulation was more than diagramming, coding, testing, profiling, adequate for creating our I2ME test appli- IBM WebSphere Studio Device and quality assurance. We tested its J2ME cation, and we used the capable MIDP ed- Developer 5.6 abilities by writing our taxi-tracking ap- itor to design the screens. (We relied on $600 direct. IBM Corp., \www, ibm.com/websp he re, plication using JBuilder, the popular open-source kSOAP libraries • •••O As a Java IDE, JBuilder is a very ap- for our Web services support.) Integrated IBM WebSphere Studio Device proachable and solid offering. It's powerful debugging, which has long been a staple of Developer 5.6 ($600 direct) of- but easy to use, and it's filled with features IBuilder, is a winning feature. fers a well-rounded and versa- like refactoring wizards, excellent on-the- Mobile Studio offers some impressive tile Java tool that extends the fly help, and support for J2EE server pro- innovations with its C++BuilderX tool, J2ME platform for business jects. Its control of projects and targets which can run inside the same Mobile Stu- applications. With innovative Java teeh- is somewhat easier to master than that of dio shell as JBuilder. Support for native nology supporting Palm OS, Pocket PC, and other handhelds, this tool is the best all-around solution for mobile develop- 5C0RECARD ment we've seen. We installed WebSphere on Windows For development environment, we consider IDE interface usability, XP from a single CD. (It also runs on programming wizards, debugging features, code manipulation options, Linux.) Like Borland, WebSphere bundles and display options. For connectivity, we look at the ability to connect to the Nokia SDK with Series 60 support. An data stores and Web services, For device and emulation support, we innovative live-update feature took us to evaluate the level of support for cell phones and other handheld devices. IBM's Web site, where we downloaded up- For deployment, we consider the factors necessary for taking a mobile dates for Web services (IBM Web Services application live, including support of automated and over-the-air deployment. Tool Kit v5.6), which added Web service security. We also downloaded a light- weight database option called DB2 Every- place (DB2e), which runs only on the Personal Profile.

Borland Mobile Studio 1.5 IBM W^Spbere Studio Device nORE ON THE lilEB Devstoper 5.6 For more information on mobile Microsoft Vi5uai Studio .NET development tools, visit us online at www.pcniag.com.

128 PC MAGAZINE MAY IS, 2004 www.pcmas.com MOBILE DEVELOPMENT

WebSphere is powered by IBM's Eclipse need to save files as a separate step before missed an interface designer for creating technology, an open-source effort that lets eompiling them. higher-end I'DA screens. developers add tools and compilers to a Besides superior refactoring wizards The real strength of WebSphere is its workbench or IDE. The inherent flexibili- and on-the-fly quick tips to solve prob- support for IBM's own mobile Java Virtual ty in Eclipse is a natural fit for developing lems, WebSphere includes a capable MIDP Machine (IVM). called the IBM WebSphere mobile applications for a wide variety of visual designer and a good integrated de- Micro Environment. This gives you a JVM handhelds. The basic WebSphere IDE, bugger. We used the MIDP editor to design that will run on Palm, Nokia, and Pocket PC. however, keeps Eclipse's complexity in screens for our test taxi application, Moreover, WebSphere lets you target each eheek, but opening and controlling files adding code to events behind a handful of device, and with a little configuration, build within different projects takes some get- I2ME controls. Though it supports Per- the requisite exeeutables and deploy them ting used to. Eclipse is quirky In that you sona! Profile with its Virtual Machine, we along with the IVM. It supports built-in op- Sybase Serves Up On-the-Cio Databases hen it comes to mobile In custom projects, you databases for Pocket PC manage this conversation and Palm OS handhelds, through the Mobilink server via Sybase subsidiary (Anywhere API calls that establish and Solutions has been the go-to monitor the synchronization choice for application develop- process. With just a few calts. ers. When you don't need a full- you can also take advantage of blown development cradled synchronization to environment. Sybase delivers a update databases when a user quick way to prototype mobile is connected to a desktop. applications, too, SQL Anywhere Sybase Pocket PowerBuilder Studio 9.0 C$399 direct) is a offers a rapid application devel- flexible mobile database with opment tool comparable to excellent synchronization for Visual Basic and AppForge's both Pocket PC and Palm OS. Crossfire 5.0 for building mobile Sybase Pocket PowerBuilder 1.5 FOR POCKET PC DEVELOPMENT, Pocket PowerBuilder provides clients, but handheld support is ($495 direct) bundles many of component-based programming using Sybase's PowerScript limited to Pocket PC, In building a the same database tools and language and a productive IDE for writing and debugging code. cross-section of our test client in offers a developer tool to build """ ^^~~ — - — Pocket PowerBuilder, we found client interfaces for mobile Windows, the visual designer for creating forms to be smoother than most of Installing SQL Anywhere Studio 9,0 was very quick, and half a the tools in our main roundup. With nearly three dozen compo- dozen tools helped us get started. The core Adaptive Server nents to choose from, the software lets you build rich interfaces Anywhere database is a remarkably functional small-footprint on a par with Visual Studio ,NET. database with an excellent console for creating, tweaking, and But the PowerScript programming language is last year's monitoring your data. And with the capable database diagram model, and we missed on-the-fly pop-up language help, which is design tool, PowerDesigner, we were able to generate modeling standard on ail the other tools we tested. Support for Web diagrams and database scripts for our taxi database. services is also missing from this release. The really impressive technology here is the UltraLite mobile The tool does a good job with databases via tbe powerful database, which provides a well-designed set of features and DataWindow object, which lets you manage database queries APIs that are just right for a mobile market divided between and updates with little coding. We also liked the emulation and Pocket PC and Palm OS. The database runs on both of these debugging. You can even plug the Pocket PowerBuilder into platforms and exposes functionality through .NET APIs (for use Microsoft Pocket PC emulators on the desktop. A wizard speeds with Visual Studio ,NET) and Java (for use with Palm OS), plus up deployment to devices. C++ calls for native development, A quick look at the APIs here At press time, iAnywhere released a new version of its recently shows a robust assortment of database objects modeled after acquired AvantGo technology called M-Business Anywhere the popular JDBC and ADO.NET standards. Server Application Edition ($3,588 direct and up), which allows Better yet. this uttra-lightweight platform includes APIs and a content creators to design and distribute mobile content to server, called Mobilink, for synchronizing mobile devices and Pocket PC, Palm OS. and RIM devices. This Web-based system is centralized servers. (Support for IBM DB/2, Oracle 9i. SQL Server, now powered by the same iAnyvtrfiere database technologies, and Sybase'5 own Adaptive Server Enterprise is standard.) After including its lightweight tools for clients, running a script to configure the central database server, we were Sybase/iAnywhere's expertise with small-footprint databases able to sync up customer records from a mobile client through is paying off, because synchronization is so important to today's the Mobilink server process back to our Oracle 9i database. The mobile development efforts. Its tools deserve consideration same approach works with the Windows CE version of Adaptive from any organization that wants to iet mobile users access and Server Anywhere. sync up safely with central databases.—Rl/D

130 PC MAGAZINE MAY 18. 20Q4 MOBILE DEVELOPMENT

SUMMARY OF FEATURES

Download this table at Mobile Development Tools www.pcmag.corn.

Microsoft VisuaJ Studio Pnxlucts Mei In remw onler. IBM WebSphere Studio .NET Z003/.NET Compact • VES a NO CmsflreSJ) Boriand UobOe Studio tS Device Developer 5.6 Framework Direct price per developer seat $1,000 (plus $25 per deployed . $699 1600 $1,079 device) 1 DEPtOVMENT SDKs and OSs supported Nokia Series 60. Palm OS 3,1 J2ME. Nokia Series 60/80/90. J2ME, Nokia Developers Suite, Pocket PC 2000/2003. or later, Pocket PC 2000/ NTT DoCoMo, Symbian, UIQ Palm OS 3.1 or iater, Pocket Windows CE .NET 4.1 or later 2003, UIQ, Windows Mobile PC 2000/2003, Windows Windovus Mobile 2003 for 2DO3 for Pocket PC Mobile 2003 for Pocket PC. Pocket PC Zaurus Development languages supported Vl5uai Bulc 6, Visaai Basic C++, Java C/C+Java Visual Basic .NH, VisuaJ C# -NET CONNECTIVITY FtATURES INCLUDED Client Web services caii a D

Over-tt)e-air pro^sioning tools/coTiponents/APIs Personal database Included None None DB2e SQL Server CE Cradle or RF data-transfer tools Serial-port data-transfer lools/components/APls Tools to buiid queues for the device to sync later

form designers in J2ME toots: Personal Profile P D N/A' MIDP 2.0 Profile WYSIWYG form designers in .HU CF tools: For Pocket PC 2002 .NET CF N/A' For Smartphone .NET CF (Nokia. Palm, and Sony N/A^ Smartphones only) For Windows CE N/A' A design environment specifically for Smartphones Nalive support for Palm API Native support for Pocket PC API

Palm/Pocket PC emulator D • Preserves emulator session state D Configurable emulator settings C • RED denotesEdltnrj'Choice. N/Ai-NMamlicablei'nilslia.NFTtocil. WA'-NottppdublcThlsKUtn-bued EDDL

tions lor I'alm, Nokia, Zaurus, A wizard let us import a and even Pocket PC. A handy WSDL file and generate stub wizard lets you select and mn the code to call up a Web service. appropriate target as you compile IBM also tied its mobile IVM to code for different platforms. We its larger enterprise platform, also liked IBM's built-in support with provisioning and adminis- for targeting actual devices tration efforts via its software alongside emulators. management framework (SMF) The Java community is work- tools. Though this will take pro- ing to enhance the I2ME platform gramming effort to implement with new features, but IBM jump- (with a separate downloadable starts the process with Web ser- SDK), it is a cost-saving possibil- vices and new support for the ity for the enterprise. Personal Profile, among other en- Note that not every enhance- hancements. In testing, we were ment works for every device, but pleased to see that floating point IBM WEBSPHERE STUDIO Device Developer 5.6 targets leading if your organization is using a support—which has long been handheld platforms including Palm OS and Pocket PC using IBM's variety of handhelds, IBM's solu- missing from J2ME—comes stan- own Java Virtual Machine (JVM), which brings Web services and tion is clearly the best I2ME op- dard in IBM's foundation classes. other enhancements to the J2ME platform, tion available.

132 PC MABAZINC AMY18, 2004 NnnKpcnMg.com MOBILE DEVELOPMENT

J2ME vs. Microsoft .NET CF at a Glance

J2ME ConnMted Device Configuration* Microsoft .NET Compict nrammvork

Language support Java Visual Basic .NET. Visual C#,NET Platforms Linux, Symbian OS, Windows CE ^^^^^s^ Pocket PC 2000,2003; Windows CE .NET 4.1, software Development tools JBulider X. Oracie JDeveloper. Sun Java Studio. WebSphere Visual Studio .NET 2003 I Virtual machine JVM .NET CLR API compatibility Upward-compatible with J2SE 1.2 .NET Compact FrameworV ciass libraries, Win32 API (P/lnvoke) I Email and PIM Third-party solutions P/lnvoke User interface AWT (a sirbset of Java 2D Graphics, Advanced Imaging, and Swing is Windows Forms n development) ^ Database API JDBC AD0J4ET """^HtaBBStflHHH Ddtflliasc synchronization Third-party application (J5R 230 Data Sync API is in development) SQL Server CE * We usnJ the Connected Device Conflguratiiin of J2ME on our tnte.

Microsoft Visual Studio .NET .NET cr supports fewer mobile devices wizard generates stub classes for your Compact Framework than |2ME does, you do not have to con- WSDL files, and Web services calls are $1,079 direct. Microsoft Corp., www.microsoft.com tend with different user interface APIs. hard-wired into the fabric of .NET, /vstudio.»»»»O We sped through developing our taxi- making for a much simpler coding style Beyond its role for server-side and desk- tracking application. The user interface than I2ME. Microsoft also offers a win- top development, Microsoft Visual Studio design tools are very rich, offering a ning lightweight database (SQL Server .NET 2003 offers a compelling mobile de- familiar drag-and-drop model of pro- CE, available separately), which can velopment tool for the Poeket PC: .NET gramming where you design forms and buffer local data and synchronize it to a Compact Framework. It has remote server via just a superior user interface de- few lines of code using sign tools, excellent support tm B*« om iwk )»•*>* »# powerful ADO.NET data- c: - r- c« s 0 « % r - ^ Mwwwk" •3 for Web services, and the ft C t 3 - - base APIs. smoothest integrated emu- Because mobile emula- lation and debugging in this tion is integrated into Vi- roundup. Of course, it runs sual Studio .NET and not only on Windovv's mobile an add-on as with the I2ME devices. tools, debugging and test- In the early days of Win- ing code is arguably the dows CE development, smoothest that we saw in Microsoft's mobile tools re- this roundup. Along with quired a separate version of Borland. Microsoft does a Visual Studio. Today, a well- good job of hiding the integrated Pocket PC emula- complexity of compiler tor comes standard with and project options. The Visual .Studio .NET. We in- tool automates setup and stalled with three CDs and deployment of mobile were up and running quickly. code from within the IDE. .NET CE is a subset of Microsoft has announced Microsoft's API classes for wrm A SMOOTHLY integrated emulator for PC Pocket devices. Microsoft that the next version of this the server and desktop. You Visual Studio .NET 2003 offers seamless development and debugging for tool, code-named Whidbey, can program in any of the mobile development in C#. Visual Basic .NET, and other .NET languages. will be delayed until 2005. languages that Microsoft Until then, Smartphone Visual Studio supports (including C# and attach code in snippets to objects on- developers have to download a separate Visual Basic .NET) and target .NET CE screen. Over 20 components are available, SDK, which is available free. with ease. Because many of the controls including sophisticated controls like trees Although .NET CF is limited to Pocket PC in standard Windows Forms—the user and grids. Only AppForge offers more handhelds, these devices offer plenty of interface library for desktop .NET—are options, adding components for bar-code CPU horsepower and memory. For the en- available for mobile clients, developers scanners and signatures. terprise developer, Visual Studio .NET 2003 can use what they already know when Beyond building screens, -NET CF has and .NET Compact Framework are a pow- turning to mobile projects. Although the simplest support for Web services. A erful combination that takes full advantage of Web services and delivers a familiar cod- ing environment. Provided your organiza- OUR CONTRtBtJTORS: Richard V. Dragan is a contributing editor of PC Magazine. tion is committed to Windows handhelds, Associate editor Michael J, Steinhart and PC Magazine Labs lead analyst Sahil Gambhir this tool can speed up the delivery of any were in charge of this story. enterprise mobile project. =

134 PC MAGAZINE MAV IS. 2004 mvw.pcrmg.corn