The Eclipse open source initiative is one of the biggest open source communities currently active, and since mostly backed by businesses, has a strong quality and real-world focus. Eclipse hosts a ton of projects, and most of the mature projects participate in the “release train”, a yearly coordinated effort to launch new releases. This way, it’s easier to keep track of Eclipse developments, and because projects depend on each other, it allows for a smoother adoption as well.
This year, the train was dubbed “Galileo“, and contains 33 projects (from 23 projects last year), containing 24 million lines of code. While Eclipse started out as a base tooling platform for Java development, today, it’s a lot more. In fact, it’s such a broad platform now, I will only highlight some of the new stuff in the projects I keep track of myself, starting with the new and less known:
* Jetty/Eclipselink/Swordfish/Riena: A few new “framework” like projects were added to Eclipse relatively recent. One is Jetty, a mature, flexible and fast Web Container, notably used by Google for its AppEngine Java cloud offering. Another is EclipseLink, the open source version of Oracle TopLink, and the official reference JPA solution. EclipseLink boasts some other interesting features too, including support for SDO and XML, and DBWS, a mechanism for declarative data-oriented web services.
Swordfish is a SOA “bus” product based on OSGi, and Riena is a platform for business-oriented client-server applications using Eclipse technology. Both these projects are still very new and still have some rough edges, but it’s interesting to see more of these kinds of projects at Eclipse. Basically, you can now build your entire application with products from Eclipse, making Eclipse compete at a new level.
* Memory Analyzer/TPTP: the Memory Analyzer tool, contributed by SAP, is an exciting new project. It’s hands down the best off-line Java heap dump analyzer currently available, supporting analyzing of large dumps on simple desktop computers, with amazing detail and performance. TPTP on the other hand still remains a bit of an obscure product, but at least I get it to work now for most scenarios, allowing some basic profiling. Still, I would recommend buying a real profiler tool, or check out the Netbeans Profiler (also limited, but easier to use and better performance).
* Process Framework: the process framework project hosts a sophisticated “composer” tool, designed for building web sites to describe processes. Also, the projects hosts some great reference web sites for popular processes. I find myself looking into the OpenUP and Scrum sites often. The new release improves support for “practices” based descriptions, that allow for easier mixing and matching when defining a custom process.
* Eclipse Web tools: “web tools” always has been a bit of a weird name, since I use it most to write EJBs. This release has some nice improvements for writing XML Schema and XSL stylesheets, and some UI cleanup across the board. Also, support for Java EE 5 and JPA has been improved.
* Mylyn: the premier task solution for Eclipse has some nice additions. Wikitext is now used all over the place for better formatting, and Mylyn now supports OSLC, meaning it can interact with Rational ClearQuest and the “Jazz” Team Concert products.
* Eclipse platform/IDE: the best known Eclipse product got some nice updates. First of all, support on the Mac should be improved a lot, and there are some great tooling improvements if you are doing OSGi development. On the part of generic Java developments, there is some nice little polish, but no huge new features.
Debugging now no longer requires to switch to another perspective, but allows to dynamically open/close views in the current perspective. I did not expect to like this as much as I do now. When debugging a simple unit test, it’s less of a mental context-switch. And when I need all of the advanced debug stuff, I can still switch to the perspective and do some serious debugging.
All in all, Eclipse innovation is still going strong, with small and big improvements that keep the products going forward. Hopefully, you get to upgrade soon and start using Eclipse Galileo!