So far this summer there’s been an eclipse for every audience: a big-screen edition for fans of teen horror movies, a total eclipse for Easter Island-based sky watchers and, for those of us with our attention trained on the application development world, a major new platform release from the Eclipse Foundation.
Eclipse 3.6, which arrived on the Internet on June 23 sporting the code name Helios, comprises 39 different Eclipse projects, collectively called a release train. While all of the projects are based on the open source, Java-based Eclipse IDE (integrated development environment), the train covers so much ground that it can be difficult to digest all of its enhancements and additions.
However, a handful of elements stood out for me, including a new application store feature, improved support for JavaScript and a set of enhancements relating to Linux C/C++ development.
While many of the changes to individual projects in the release train were minor, the enhancements are impressive when considered as whole, and go a long way toward sustaining the momentum that the Eclipse project has built up in the application development space.
Eclipse 3.6 is available for free download in versions that support Linux, Windows and Mac OS X. The development tool is available in about a dozen prepackaged editions that contain a set of plug-ins and configurations for a particular development area. There’s an edition for Java EE developers, one for PHP developers, one for C/C++ developers and so on. Fortunately, if you want to compare, Eclipse.org has a page showing what comes with each version.
App store
In the past two years, the software development world has seemed to go crazy over app stores, and every significant platform either has one in place or one on the way. The Eclipse project brought its own Eclipse Marketplace online in December 2009, and already has over 1,000 plug-ins available. New in Eclipse 3.6 is client access to Eclipse Marketplace right from within the IDE.
The app store is a particularly apt addition to Eclipse because of the way Eclipse is put together: The projects that make up the platform are typically plug-ins that may or may not make their way into the official Eclipse release as they grow in popularity. Users can download and install the projects separately, essentially building their own customized versions of Eclipse. The addition of an app store in the Eclipse client helps to smooth out what can be a confusing process.
When I started up the Eclipse Marketplace client in Eclipse, I was half expecting to see a new document open showing the Eclipse Marketplace main Web page, but I was pleased to find the marketplace exposed in the form of a proper Eclipse plug-in, complete with a dialog box with tabs for Search, Recent, Popular and Installed applications. As I interacted with the dialog box, the client connected to the marketplace and updated itself in real time. As I made my way through the available apps, I got a list of the plug-ins matching my search criteria, along with a little company icon, a description and, best of all, an Install button. This is much easier than the older approach of typing in a URL to add a plug-in. (But the old method is still present, as certainly not all plug-ins out there are in the Eclipse Marketplace.)
JavaScript, Linux IDE
JavaScript
I was particularly excited to try out the new JavaScript IDE features, but I was disappointed to find that the feature I most sought-debugging of JavaScript code running in a browser-wasn’t quite ready. The Eclipse subproject behind this feature, the JavaScript Development Tools group, didn’t finish work on the browser-connected JavaScript debugging feature in time for the 3.6 release.
However, Eclipse now boasts several worthwhile features relating to the popular language, including JavaScript project types and under-the-hood components for parsing existing JavaScript libraries and for listing library classes and types in the Eclipse Project Explorer. What’s more, the Project Explorer can parse out namespace formats that mimic the Java naming approach (such as dojo.Color.prototype).
As for the JavaScript debugging that I’m looking for, it looks like when the project is ready it’s going to be fantastic. The team is working to make the debugger connect to Firefox using a connector that the developers of the popular Firebug add-on are working on. Once that’s released, I’m sure I’m going to be sold on it, because I certainly dream of a good IDE for client-side Web development that supports full debugging.
At present, however, what does work is full integration with the Rhino JavaScript engine. Rhino is written in Java, and it’s not used in Firefox (even though it’s controlled by the Mozilla Foundation). You can set breakpoints, step through code-all that good stuff you’d expect in a debugger. But it only works with Rhino. So, again, right now you can’t really use Eclipse to debug JavaScript code running in a browser, even though the fanfare surrounding the new release could lead you to think otherwise. But don’t lose hope: It will happen. Just not yet. (There are, in the meanwhile, alternatives; Aptana Studio is one, which, interestingly enough, is actually built on the Eclipse source code.)
Linux IDE
New in Eclipse 3.6 for Linux users is a set of tools that help with C/C++ development. These are developed under an Eclipse project called Linux Tools. The first release, Version 0.1, came out in early 2009. Version 0.6, the most recent release, is included in the Linux C/C++ edition of Eclipse Helios.
The updates in Version 0.6 include various development tools such as SystemTap integration (for instrumenting production Linux systems), Autotools (the GNU build system), Libhover to provide hover-help in the IDE, ChangeLog, OProfile (a profiler for Linux), Valgrind (a set of tools for debugging and profiling), GProf (the GNU profiler), and LTTng (for tracing).
I expect that Linux-centric users of Eclipse will also appreciate Eclipse 3.6’s new support for Git, the version control system that Linus Torvalds built for use with the Linux kernel project, as a source code control option in Eclipse.