First Look: Project Zero

Web developers who want to avoid writing Java applets may like this Eclipse plug-in tool

01/03/2008

Project Zero (an IBM incubator project) is an extension of the Eclipse open source Java programming IDE. It allows Java programmers to use a familiar development environment to create dynamic Web applications. While the project is supported by a "community," much like open source efforts, the aim of Project Zero is commercial, with IBM counting on getting feedback from developers in the mean time.

Project Zero users can create Web 2.0 applications based on a service-oriented architecture, with a special emphasis on simplicity and ease of use. A Project Zero white paper describes this concept as "Web-oriented architecture," aiming to improve interactions at the browser or client level.

To test Project Zero, I opted to use the Windows version of Eclipse. In this way, I was able to keep Eclipse separate from my Linux OS and Java-based applications, thereby avoiding any potential Java runtime conflicts.

Project Zero is installed in Eclipse by indicating the location of its repositories at the product's Web site. Currently, several stable versions are available, in addition to an unstable testing build. After configuring Eclipse to use the repository of the desired version of Project Zero, Eclipse will download and install the new module and then restart itself.

I've played with Eclipse before, but I'm far from considering myself a Java programmer. Fortunately for new users, both Eclipse and Project Zero have documentation and "getting started" guides available (often with sample code) in addition to large user communities. With the available documentation and code samples, I was quickly able to figure out how to build a basic task list in mere minutes. The task list I built ran quite well on the client side in my browser and allowed me to easily add and remove tasks.

Project Zero includes runtimes for both PHP and Groovy, which is a fairly intuitive object-oriented scripting language currently being standardized by the Java Community Process. Groovy has similarities with Python, Perl and Ruby. One benefit of Groovy is its ability to translate into HTML or XML and then send the output to a browser, without the developer having to manually embed specific markup tags for the purpose. In contrast, languages such as PHP require markup tags to be manually inserted into text strings by the programmer to produce valid HTML or XML output. Groovy is an efficient scripting language as well, requiring fewer lines of code for some functions compared with regular Java. Those with programming experience in other scripting languages should not find adapting to Groovy very difficult.

My impression of Project Zero is that it is a good alternative to Java for building Web applications because it can render output as HTML instead of cumbersome Java applets. Those familiar with using Eclipse for development will appreciate its integration into that IDE. For these reasons, Java programmers (novice and experienced) who are interested in building Web 2.0 applications should take a good long look at what Project Zero has to offer.