Sun's initial shot at Java on the desktop didn't fare well. Nonetheless, some notable Java desktop applications, such as Sun's StarOffice, have seen success. Initial criticisms of Java applications being too slow are long gone. Even with better performance, Java applications on the desktop were often found embedded within Web pages.
Now a change is afoot from an unlikely source, the Java-based Eclipse integrated development environment (IDE). Originally designed as a universal tool platform, Eclipse is slowly becoming a more comprehensive application platform, not just an application-development platform.
Although Eclipse's capabilities have always been there, it has taken people like Todd Williams, vice president of Genuitec LLC (www.genuitec.com), to bring them out. This is because Eclipse has been delivered as an IDE with all the bells and whistles. Most of these go away when using Eclipse as a rich client platform.
Williams notes that getting Eclipse down to a workable base at this time is no easy task, but it only needs to be done once. It's a matter of stripping out unnecessary plug-ins normally employed by the IDE. The next release of Eclipse, version 3, will actually address this issue.
Part of the Eclipse 3.0 development plan, the Rich Client Platform, is specifically targeted at non-IDE applications. A number of item features will be incorporated, such as user-setting support. Other work areas for possible inclusion include dynamic plug-in support, a security model, and even product branding.
The Rich Client support is in addition to a vast number of projects and improvements for Eclipse 3.0. The Eclipse IDE is already multilingual, with support for Java, C, C++, and Cobol. A little searching will turn up even more. The current version of Eclipse is already being used for a range of tasks, although many are related to software development.
REAL CONSTRUCTION Eclipse is slowly moving outside its IDE roots. Genuitec's MyEclipse (www.myeclipseide.com) is a J2EE (Java 2 Enterprise Edition) development tool that builds on the Java development support in the Eclipse IDE. While still a Java application development tool, MyEclipse adds plug-ins that address application deployment and testing.
TimeSys (www.timesys.com) is another company that makes extensive use of Eclipse. The TimeStorm IDE, based on Eclipse, includes C, C++, and Java development tools. It adds plug-ins for configuring and debugging TimeSys Linux and Linux-based applications.
The Linux Verification Suite (LVS) is a set of Eclipse plug-ins that span the testing range, from the Linux kernel to application testing. It incorporates over 1100 tests from the Linux Testing Project (LTP), along with many TimeSys-developed tests. Developers can include their own tests in the suite. The LVS supports automated testing, management, and analysis of test results. While the suite can be used by developers familiar with the Eclipse IDE, it can also be employed by quality assurance where the IDE aspects of Eclipse won't be needed.
Applications devoid of most or all of the IDE plug-ins are used, but they're well-kept secrets at this point. Genuitec's Williams indicates that many of the company's consulting customers take advantage of a stripped-down version of the existing Eclipse platform to deliver Java-based applications on a variety of platforms. The approach provides a robust write-once, run (and test) everywhere solution that many other platform-based solutions can't match. This is key to Web-based applications that require more than just a thin client. A rich client also has the advantage of being able to run in a standalone mode. To most users, there's no Eclipse platform, just an application.
The Eclipse platform can be used for standalone applications, but it becomes very interesting for combining or enhancing applications. For example, using Eclipse for a network switch management tool is useful. However, it becomes part of a larger system if the tool can be used with other plug-ins, such as an SNMP (simple network management protocol) management console. Implementing a scripting system or integration plug-ins can further enhance such an amalgamation.
Don't overlook the use of Eclipse within an embedded device. There are obvious minimal requirements as with most platforms, including Microsoft's .Net. Yet many devices possess the horsepower and storage, such as a hard disk, that make the Eclipse platform an option to consider.
With Eclipse's plug-in architecture, plug-ins can expose interfaces and require others. Therefore, it's possible to build extensible applications utilizing the underlying architecture. Other Eclipse features, such as remote updates, can be employed in keeping an application up to date.
Eclipse plug-ins can handle plug-in dependencies, but it's also possible to incorporate different collections of plug-ins, called features, within the same system. Different features can be accessible at the same time even though they may or may not interact with each other.
I would like to offer a correction. In the article, it is implied that Sun's StarOffice is a Java application. It is not. It is a program which is native code on each platform for which it is built - Linux, Windows, Mac OSX. StarOffice has hooks for Java, but is not a Java program.
For those that may not know it, there is an free/open source version of StarOffice. It is OpenOffice.org - www.openoffice.org.
Pascal
Pascal Nelson -December 30, 2003
Your Comments:
Enter the text from the image below
Please refresh the page if you have trouble reading this text.
Search Electronic Design
Web Seminar
Sponsored By:
Title: Read Pacing: A Performance Enhancing Feature of PCI Express Gen 2 Switch Devices