By Richard V- Dragan Illustrations by Fiatt Herring
Total Page:16
File Type:pdf, Size:1020Kb
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 Microsoft .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.