About InfoWorld : Advertise : Subscribe : Contact Us : Awards : Events : Store
InfoWorld HomeNewsTest CenterOpinionsProduct GuideTechIndex
PRODUCT REVIEWS GUIDE    REVIEWS    ANALYSES    SPECIAL REPORTS 
 

TEST CENTER

 
CodeWarrior powers embedded app dev

By Todd Sundsted, For InfoWorld Test Center
November 17, 2000


Metrowerks' latest IDE combines sturdy J2ME and PersonalJava support with excellent performance

   ADVERTISEMENT
  

Free IT resource

Virtualization Insights from Top Experts - Learn how virtualization gets real!

Sponsored by Dell

Free IT resource

TechNet: More ways to know it, share it, and keep it running.

Sponsored by Microsoft

RELATED LINKS
»  AT&T buys high-speed wireless spectrum for $2.5 billion
»  Update: Sprint chief Forsee resigns
»  IT trainer offers master's degree for hackers
»  Wireless RSS feed 

IDG ENTERPRISE NETWORK
More Network LAN/WAN News...  (ComputerWorld)
Wireless EV-DO on board  (ComputerWorld)

TOP NEWS 


IT SOLUTION SEARCH

WITH THE RISE of Sun's Java 2, Micro Edition (J2ME), companies that want to develop applications specifically for embedded devices now have a language that allows them to do so. Unfortunately, what's often missing is the IDE (integrated development environment) that can turn your plans into reality.

Many garden-variety Java IDEs don't support J2ME. The language gives you a unique JVM (Java virtual machine) and set of APIs that has been optimized to yield runtime environments for embedded devices. So unless you have a J2ME-specific IDE, your developers may be forced to improvise; in a worst-case situation, they may even be left completely unequipped to write embedded software. Therefore, if you're going to use J2ME to make embedded software, your developers should have the right tools.

Metrowerks' CodeWarrior 6.0 is a Java IDE designed to support J2ME application development. With CodeWarrior, you can build applications that conform to Sun's PersonalJava specification -- the branch of J2ME that addresses the software needs of networked applications running on personal consumer devices, such as set-top boxes and car navigation systems.

Furthermore, the package supports Sun's Connected Limited Device Configuration (CLDC) and Mobile Information Device Profile (MIDP) specifications, two J2ME offshoots that address the software needs of small, resource-constrained devices, such as handheld units and smart phones.

And that's not all. The newest version of CodeWarrior also supports Sun's Java versions 1.1.x, 1.2.x, and 1.3.x, and it allows you to integrate alternate JVMs, such as those provided by IBM, into the lineup. This makes it easy to test your applications across multiple versions of Java, thus extending this IDE's flexibility in enterprise settings.

In all, we were impressed with the wide range of Java specifications that CodeWarrior can support and which give your developers plenty of options. Add smooth, wizard-driven project templates, subtract a few points for a clunky text editor, and CodeWarrior 6.0 comes up with a final score of Very Good.

Extending the family

As any seasoned Java developer can tell you, the CodeWarrior line of IDEs spans the market from desktop systems to embedded applications to gaming consoles.

With one glance at this latest addition, the family resemblance is unmistakable. As far as Metrowerks is concerned, Java and its JVM are just another platform/processor combination, and the company goes to great lengths to make Java fit the model it has established with the rest of its products. So if you are familiar with the CodeWarrior line, you will not have any difficulty adjusting to this version. On the other hand, if you are not a CodeWarrior veteran, be prepared to spend some time with the documentation (which, by the way, was very helpful, walking us through the entire process of creating a project, adding a class, and running it.)

We installed CodeWarrior on both Windows 98 and Windows 2000 machines. The installation ran flawlessly with one minor exception: Although CodeWarrior detected existing JVMs and automatically configured itself to use them on Windows 98, it failed to detect the JVMs on Windows 2000. We had to use the included VM Registrar tool and install the JVM manually. But this was a minor snag.

Next we opened, built, and ran a series of sample applications, which included everything from Java 2, Standard Edition (J2SE) applets to J2ME applications. Those sample projects worked without a hitch.

Yet we had problems when we tried to create projects completely from scratch, because CodeWarrior forces you to negotiate a number of tricky project settings, including file mappings and project targets. In our tests, we were never able to get those settings to line up in the right configuration. They were simply too confusing to be useful.

Thankfully, CodeWarrior 6.0 comes with a complete set of project templates in the form of "stationery," which was extremely helpful in getting our new projects off the ground. For example, if you want to use the Java Application stationery, CodeWarrior will create a project with all the core Java libraries already in place, thus simplifying and speeding development. With the stationery on hand, the difficulty meter on the development process went from diabolical to very easy.

There's a lot to choose from, too. CodeWarrior provides stationery for applets, desktop applications, and of course, J2ME applications. Another nice bonus is that you can develop custom stationery, which makes it easy to enforce departmentwide or companywide project organization standards.

The J2ME stationery automatically creates a project for building a MIDlet (a small application that conforms to Sun's MIDP specification), complete with all the correct libraries and a very simple application skeleton. Similarly, the PersonalJava stationery automatically generates a project that allows you to build a PersonalJava applet or application, once again structuring your project for you. All the while, CodeWarrior provides many helpful wizards that make it easy to create applets, applications, and JavaBeans, streamlining the development process even further.

The debugging features fared well in our tests, too. CodeWarrior 6.0 sports a solid, integrated Java debugger that supports breakpoints, variable inspection, and stack inspection. It can also debug servlets remotely -- a handy feature if you ever want to ferret out misbehaving code that's running on the server.

Editing the old-fashioned way

One downside was that CodeWarrior's text editor, while acceptable, was nothing close to state-of-the-art. In this day and age, all text editors for programming languages -- including Java, with its seemingly endless supply of libraries and classes -- should automatically complete partially-typed class, method, and field names regardless of whether you're working with J2ME, J2SE, or J2EE. But CodeWarrior's text editor doesn't. On the other hand, CodeWarrior does pack a fairly sophisticated browser tool that helps you explore project source code and classes.

Moreover, the package lacks JSP (Java Server Page) and Enterprise JavaBeans (EJB) support, limiting CodeWarrior's enterprise development usefulness: You could not use this tool to develop high-performance, scalable, database-driven transaction systems. But that's not a slight against Code Warrior. The package is clearly meant to be the IDE you use for embedded applications, and only embedded applications.

Instant code compilation

Those shortcomings aside, how did CodeWarrior perform in our tests? Very well. Small test projects consisting of a handful of classes compiled almost instantly on a 700MHz Pentium machine.

The built-in "make" utility streamlines the build process by compiling only the minimum set of classes necessary to get a project up to date. That's enough to calm even the most anxious product manager's fears about unproductive developer time.

If you are developing Java applications for products that support one of the J2ME technologies, such as handheld devices or embedded systems, CodeWarrior 6.0 is an excellent choice. Its out-of-the-box J2ME support was truly impressive, and Metrowerks has thrown in enough extra features to make the package worth the investment for shops that create embedded applications. Just don't expect CodeWarrior to replace the heavy-duty package you use for enterprise development.

Return to our Special Report on Embedded Systems


Todd Sundsted is a writer and Java architect at ComFrame Software, in Corpin Hoover, Ala. He can be reached at zanzibar@etcee.com.



  BOTTOM LINE
CodeWarrior 6.0
BUSINESS CASE
Metrowerks' newest IDE offers tools for creating applications for embedded devices, reducing development costs and time to market. The package offers excellent J2ME support, but it's not meant for enterprise development.

TECHNOLOGY CASE
CodeWarrior 6.0 allows you to build applications that conform to Sun's PersonalJava specification for networked applications. It also supports the CLDC and MIDP standards, enabling development for small, resource-constrained devices.

PROS

+ Excellent support for various embedded development standards

+ Strong, fast performance

+ Wizard-driven, "stationery"-based development guides


CONS

- No automatic code completion

- Lack of support for enterprise development standards, including JSP and EJB


COST
$399

PLATFORMS
Windows 98/2000 and Windows NT

COMPANY
Metrowerks Corp., Austin, Texas; (800) 377-5416; www.metrowerks.com


RELATED SUBJECTS

Software Development


SPONSORED WHITE PAPERS
EMC - Lower costs and improve reliability-Get the EMC CLARiiON white paper!
Ciphertrust - Are you ready for Sobig.G? Learn how to protect your email systems.
CDW - Personal attention. CDW. The Right Technology. Right Away.
EMC - Explore key performance features and capabilities of EMC ControlCenter 5.1.1.
Intel - Free Intel white paper shows you how to deploy a secure wireless LAN
Cisco - FREE WHITE PAPER: BLUEPRINT to design and implement secure VPNs
Verity, Inc. - "Mass Consolidation Hits the Web-Search Market"
McDATA - Download a FREE storage consolidation white paper from McDATA(R).
Lucent Technologies - Overcoming Common Firewall Limitations
Lucent Technologies - Leverage Your Mobile High Speed Data Access. Download Free White Paper!
Nokia - Get the scoop! Mobilizing business white papers & case studies.
BMC Software - Maximize the Potential of Enterprise Data: Free white paper!
Network Associates - Free white paper - Strategies for Optimizing Network Costs and Benefits
Entrust - Manage identities across applications. Improve productivity.
Stalker Software - CommuniGate Pro - Transform your Email and Calendaring
Remedy - A NEW Gartner Research Note:Producing Quality IT Services

Search the IDG White Paper Library:


SPONSORED LINKS

INFOWORLD MARKETPLACE


» Hot Stock Alert (TMDI)
Telemedicus - Medical Communication Top Telemedicine Technology
» Apply BPM and ITIL at your IT Help Desk
ServiceWise brings BPM to complete IT service while eliminating integration cost. Learn more here.
» EMC delivers high-speed image capture, storage
Learn how you can quickly capture, organize, and deliver information with EMC ApplicationXtender.
» Register for your free VMWare Virtualization kit!
VMware virtualization takes the cost and complexity out of IT  Download this free kit to learn how.
» FREE Sophos Threat Detection Test
Is your AV catching everything it should? Free virus, spyware and adware scan.




 HOME  NEWS  TEST CENTER  OPINIONS  PRODUCT GUIDE  TECHINDEX   About : Advertise : Subscribe : Contact Us : Awards : Events 

Copyright © 2008, Reprints, Permissions, Licensing, IDG Network, Privacy Policy

All Rights reserved. InfoWorld is a leading publisher of technology information and product reviews on topics including viruses, phishing, worms, firewalls, security, servers, storage, networking, wireless, databases, and web services.

Computerworld :: Network World :: CIO :: PC World :: Darwin :: CMO :: CSO
IT Careers :: JavaWorld :: Macworld :: Mac Central :: Playlist :: GamePro :: GameStar :: Gamerhelp
ITWorld Canada :: Computerwoche :: Techworld UK :: tecChannel :: IDG.se :: IDG.no