Hands on with Eclipse
Eclipse has always been a strong Java code editor, and in this respect, it is generally a pleasure to work with, with plentiful refactoring tools, good support for test-driven development, and a generally helpful editor.
Eclipse is now beginning to compete in other areas, but some of the newer tools are not yet mature. The Visual Editor for Swing or SWT is much improved on earlier versions, yet for usability it is no match for the Matisse editor in NetBeans. Some developers still prefer the cleaner two-way code and visual editing in Eclipse. The Data Tools Platform looks promising, but is at an early stage of development. The Web Tools Platform is significantly improved, particularly for Web Services; but despite its popularity Eclipse does not stand out as the best overall development tool for Java.
Documentation is good where it exists, but more is needed, and the Eclipse website remains difficult to navigate and perplexing for newcomers. When working with Eclipse I find myself missing Borland's abandoned non-Eclipse JBuilder, which is more consistent and stable and has excellent visual tools; and for pure Java development, NetBeans is now at least as good overall. That said, Eclipse is in most respects good enough, when considered as an end product.
The great strength of Eclipse is its role as a tools platform, and here it is second to none. It is a mistake to judge the platform purely on today's projects, since much of the work is future-oriented, building reusable frameworks and infrastructure. Many users only see the Visual Editor, but behind it is a range of modelling and editing frameworks which ultimately count for more. When Adobe released FlexBuilder earlier this year, which is based on Eclipse, it offered an immediately familiar working environment to countless existing Eclipse developers. This kind of instant accessibility is hugely valuable. Eclipse skills have become near-essential for developers outside the Microsoft world.
Will there be another Callisto? "Most certainly," says Milinkovich. "We've already proposed a name for next year, and it's Europa. We're using a Moons of Jupiter theme. Apparently there are 67 moons of Jupiter so we should be good for a few years."
Adjunct: The Callisto projects
C/C++ Development tools (CDT)
- Eclipse as a C/C++ IDE. Targets gcc by default.
Data Tools (DTP)
- tools for accessing, viewing and manipulating data sources.
Eclipse Modelling Framework (EMF)
- tools for working with structured data models.
Graphical Editing Framework (GEF)
- create graphical editors for application models.
Graphical Modelling Framework (GMF)
- a generative component and runtime infrastructure for developing graphical editors.
Java Development Tools (JDT)
- development of any Java application, including Eclipse plug-ins.
Java EE and Web Tools (WTP)
- Tools for developing Java Enterprise Edition and Web applications.
Reporting Tools (BIRT)
- A reporting system for both web and PDF.
Test and Performance Tools (TPTP)
- a platform for building test and performance tools.
Visual Editor (VE)
- Frameworks for creating GUI builders.