Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Embedded

Eclipse provides tool integration framework

Posted: 01 Mar 2004 ?? ?Print Version ?Bookmark and Share

Keywords:eclipse? ide? tool integration? jdt? java?

When you build a desktop application, you need to start with good design and architecture. Since there is no universally accepted desktop application framework, most developers design their own architecture and then build it into a framework themselves. That approach consumes considerable expense, time, debug effort, support and aggravation to solve a problem that is peripheral to building the business functionality of the application.

A better approach than "rolling your own" application framework would be to find one that could accommodate your needs to simplify and accelerate project development.

Eclipse provides the framework for combining disparate tools into a single integrated application with a seamless user interface. New tools are integrated into the Eclipse platform and its user interface through plug-ins that extend Eclipse's facilities. Additionally, Eclipse plug-ins can extend other plug-ins. When an Eclipse-based application initializes, it activates all the plug-ins that have been configured for the workstation.

Since being able to write and test such plug-ins is essential to the success of Eclipse, the platform is bundled with a plug-in development environment and a set of Java development tools (JDT) to support it. Since the platform is open-source, you can inspect the code and understand exactly how the frameworks are used.

It is this practice of packaging the development tools with the platform that causes some to be confused about the nature of Eclipse. Instead of thinking about Eclipse simply as a Java IDE, try to think about it as a desktop application that happens to include a Java IDE, which was built using the underlying Eclipse platform as an application framework.

Eclipse embodies an extensible design that maximizes its flexibility as an IDE platform. Nonetheless, the Eclipse architecture defines sets of layered subsystems that allow it to be used as a framework for a portable desktop application that is not an IDE.

The Eclipse platform contains a Standard Widget Toolkit (SWT), which is implemented natively on all supported Eclipse platforms. SWT contains a large set of events, layout managers and widgets. When a supported platform does not contain a native widget that is supported by Eclipse, an emulated widget for that platform is provided. SWT also interacts with native desktop features, such as drag and drop.

Although the Java language already contains two widget tool kits, Abstract Window Toolkit (AWT) and swing, the Eclipse group chose to implement its own. But to prove that this was the right decision, compare the look and feel of a Swing or AWT application of your choice to that of Eclipse. Eclipse looks, feels and responds like a native application on whatever platform it is running. Naturally, this is also how you'd like your application to perform.

An application can be built upon the Eclipse framework by removing functions that you do not want and then adding functions that you do. Removing Eclipse functions is the easy part; just take out plug-ins that provide unneeded features.

After all unnecessary plug-ins are removed and you have minimized the extensions in the workbench user interface (UI), there is still one more avenue available to reduce the base framework size. Since Eclipse really was intended to be a framework for integrating development tools, a few of Eclipse's low-level development concepts are built into the workbench user interface plug-in directly rather than being provided as extensions. The easiest way to remove them is to comment out the undesirable features in the source code and rebuild the plug-in. If you take this approach, however, you'll need to be able to repeat the changes when migrating to new versions of Eclipse source code, at least for a little while.

Ver 3.0 of Eclipse, which is in development, has a stated goal that specifically seeks to enable the use of Eclipse as a rich client platform.

Once the unnecessary functions have been removed from the framework, building your application is simply a matter of writing your own plug-ins, adding features to the basic Eclipse framework and branding them with your own logos.

- Todd E. Williams

Genuitec LLC

Marc R. Erickson

IBM Corp.

Article Comments - Eclipse provides tool integration fr...
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top