Eclipse Zone is brought to you in partnership with:

I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

e4 - The Future is Almost Here

  • submit to reddit

We're getting closer to the 0.9 release of e4, a major milestone in the future of Eclipse, and maybe all desktop applications. In this article, I'd like to give a summary of what e4 is all about.

A Reason For Change

Mike Wilson has covered e4 in his latest blog post, where he lists the important questions that have brought us to e4. Those questions are: 

  • Does Eclipse have a future on the desktop? 
  • What would an ideal Eclipse platform look like?

Right now Eclipse does just fine on the desktop. It's got a nice modular system and the applications look pretty good. But the past few years have seen a huge shift in how we develop desktop and web applications. There's a lot more choice with Adobe AIR, Silverlight, JavaFX and a huge array of Javascript libraries. We've seen the beginning of a nod towards this change in mindset with the Eclipse RAP project, allowing you to convert your RCP application to run on the web. The key points in the newer technologies that are emerging here are ease of use and presentation. 

Presentation is an obvious point - we don't want clunky looking applications, we never did. There's no doubt that Flash applications can look great, we just want do be able to develop our apps to look flashy. 

For any technology to have a future now, ease of use is the big thing. The learning curve has to be managable, so that developers new to Eclipse can write their first application quickly, get excited by the technology and become part of the community.

When you ask these question about Eclipse at the moment, I think you'll find that it takes new developers quite some time to get up to speed. It can be complicated, but once you start learning about Eclipse things just start falling into place. Maybe we need to lower the complexity for entry. 

I'd strongly recommend reading that article in full, it gives a great background to the project.

What Is e4?

You'll find all the answers you need in the e4 Technical Overview White Paper.

The most useful definition is that e4 is a cluster of related technologies for building extensible component-based applications. Rather than a wholesale replacement of the Eclipse platform, e4 brings a new set of technologies into the existing Eclipse platform that make Eclipse components easier to write, more configurable by application developers and integrators, and easier to reuse in diverse runtime environments.

My favourite aspect of e4 is the reuse in diverse environments part, really tackling the issue of write-once, run-anywhere. For example, you can cross compile from SWT to Flash. Using CSS the user interface can be styled independently to the application code. The programming model in e4, just like the 3.x stream, is based on OSGi. The GUI is represented as an EMF model, so you can extend or modify this model to suit your own application's needs. There's a whole lot more that you can find out about e4 in that whitepaper.

Fitting into e4

While e4 will do it's best to be backward compatible with the 3.x stream, there's a chance that your plugins won't work on the platform. And this is one of the key points for me - if you think that you'll want to take advantage of e4, then you should get involved in the development. Whether this is just listening in on the mailing list, developing, or (and this is probably most important for e4 adopters) testing your plug-ins on e4. 

And don't worry if you're still on the 3.x stream. This will be continuing as normal in parallel as long as people need/use it.  Sounds like a good deal to me.

Try It For Yourself

e4 0.9 RC2 is available now for you to download and try out.Keep up to date with the latest from e4 by joining the mailing list


Harris Goldstone replied on Thu, 2009/07/30 - 7:46am

Why do Eclipse articles find their way onto Javalobby, instead of being on Eclipse Zone only -- which is what happens to IntelliJ and Netbeans articles? Eclipse bias by Javalobby?

Jakob Jenkov replied on Thu, 2009/07/30 - 8:07am

Yearh, I have been wondering about this too... Why Eclipse articles don't stay in EclipseZone.

James Sugrue replied on Thu, 2009/07/30 - 8:36am in response to: Jakob Jenkov

I think this article is worthy of mention in both sources as e4 could be an interesting choice of platform for any Java developers. As it's focussed more on the framework/platform side of things rather than being an IDE/Tooling article, I think it's fair.


Matthew Schmidt replied on Thu, 2009/07/30 - 9:04am in response to: Harris Goldstone

Actually, we have a fair amount of stuff that's NetBeans related on Javalobby.  We are friendly to everyone, and work with both the NetBeans and the JetBrains teams on a regular basis when they feel their content should get more reach.


Harris Goldstone replied on Thu, 2009/07/30 - 9:24am

Where on Javalobby, other than announcements, is there anything about IntelliJ or Netbeans?

Tom Wheeler replied on Thu, 2009/07/30 - 5:00pm

> What would an ideal Eclipse platform look like?

As a developer, all APIs related to the UI would look really familiar because I already know Swing.   I'd want a simple and reliable way of reusing all the Swing components I've developed over the years, plus all the many Swing components that are available in the open source and commercial marketplace.

As a user, it would look however I wanted because I could just plug in my favorite Swing look-and-feel.

Piero Sartini replied on Fri, 2009/07/31 - 7:04pm

Same here - Swing support is needed for eclipse to be considered by me.

Tom Schindl replied on Sat, 2009/08/01 - 11:10am in response to: Tom Wheeler

E4 will provide you the possibility to use whatever UI technology suite your needs. I demonstrated this with an RCP-Application on EclipseCon09 which was running on Qt (using Qt-Jambi). When we are talking about the IDE itself then this isn't that easy naturally because you can't control plugins like JDT, ... who are using SWT.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.