Five Reasons To Be Excited About the Eclipse Ecosystem
1) e4
When I think about the future of application development, I keep getting drawn back to the Eclipse e4 project. The goals of the project are to make it easier to write plugins and allow better control over the look of Eclipse based products. But the key is that it will provide a uniform platform across computing environments - real single-sourcing to allow you to deploy your application to any platform - whether that's embedded, web, desktop, server or the cloud.
One of the best things about this project is that it's planned for a first major release in 2010. That gives people like you and me the chance to get in there, contribute to the project, and ensure that it goes in the direction that will suit the majority.
2) Eclipse Communications Framework
Without a doubt, this is my favourite project in the ecosystem. I'm so impressed that I've even gotten involved in the project to help develop an Eclipse based Twitter client (TweetHub) that is built on the Twitter provider.
At it's core, ECF is a framework supporting the development of distrubuted Eclipse-based tools and applications. There are providers for most of the popular communication tools - such as XMPP (Google Talk), Yahoo, Skype and more. As a result of this, you can integrate your communications tools into your Eclipse IDE, or your RCP based application.
Try out the Real Time Shared Editing support though, and you won't fail to be impressed. This feature allows full syncronisation between two Eclipse IDEs, editing the same source file and synchronising updates across the wire. Real pair programming, without having to give up your keyboard!
ECF 3.0 will be released on the Galileo release train and will include an implementation of RFC 119 - Distributed OSGi.
3) Rich Ajax Platform
While we wait for e4 to be complete, there's no reason that you can't create Eclipse based applications to run on your browser. The RAP project allows you to create AJAX-enabled web applications using the workbench extension points, JFace and a widget API based on SWT.
If you've been wondering what platform to use for your latest web app or mashup, maybe RAP will suit you? RAP 1.2 will be released on the Galileo release train.
4) Eclipse Modelling Project
When it comes to developing applications quickly, model-driven development is where it's at these days. The Eclipse community has a whole umbrella project for their modelling tools and APIs. The project that most people will be familiar with is probably EMF - a modelling framework and code generation facility for building tools based on a data model. There's also GMF, allowing you to create graphical editors based on EMF and GEF.
5) Equinox
It's impossible to ignore Equinox in a rundown of Eclipse projects. At the core of every RCP based application, you've got Equinox - an implementation of the OSGi R4 core framework specification - helping you to run OSGi based systems. It can also be used as a standalone OSGi implementation. So you can run it on your server, as well as on your desktop.
I believe that the projects I've listed here have a huge part to play in the future of Java application development. Of course there are many more projects I could add to this list. I'd be interested to hear your thoughts on the projects in the Eclipse community, and what ones you think are the most important. Don't forget, these projects always welcome help whether it's contributing fixes, finding bugs or simply writing articles about them.






Comments
Piero Sartini replied on Sat, 2009/05/16 - 11:28am
Sorry, but I can't really share your excitement about any of these projects. Maybe that is because I don't like the SWT. The only project from the ecosystem I can't live without is EclipseLink... and I couldn't understand why Oracle didn't use Apache for opensourcing Toplink.
My opinion is that large parts of the Eclipse ecosystem are isolated because of the SWT. Many may not agree, but I think it was a bad move. It will always lag behind in the future... just take a look at JavaFX where Swing is well integrated.
James Sugrue replied on Sun, 2009/05/17 - 7:29am
in response to:
Piero Sartini
I can see what you mean Piero, but take a look at e4 and you'll see how it really is streets ahead of what JavaFX or Swing can provide.
EclipseLink is a great project too. I'm not 100% sure on Oracle's reason for using Eclipse rather than Apache. Maybe the licence was more agreeable?
vlad varnica replied on Sun, 2009/05/17 - 10:16am
How can you compare the old Swing with the superbe SWT ?
Eclipse is today a real success on technological point of view. If you have time then you can do incredible things. The only problem I see is the learning curve of all these technologies which is too long and complex.
Andrew McVeigh replied on Mon, 2009/05/18 - 8:25am
in response to:
vlad varnica
they are comparable because they do almost identical things (albeit in different ways).
i myself prefer swing, and have become really quite good at it. it's a flawed model for sure, but Swing + Java2D are capable of creating amazing interfaces. i don't really like the SWT model myself, too much manual resource deallocation.