Top 10 Eclipse Juno Features

Top 10 Eclipse Juno Features

In 2004 a new Major Version of the Eclipse platform was released: Eclipse 3.0. This release delivered a universal platform for application delivery and included the OSGi runtime.  Now, 8 years later, the Eclipse release train has moved to the next major version.  Eclipse Juno has been released and it is the first simultaneous release to be built on Eclipse 4.  In preparation for the release, I’ve been counting down the Top 10 Eclipse Juno Features that I’m most excited about:

10. MacOS App Integration
9. LDT & Koneki
8. Mylyn & Intent
7. RAP Protocol
6. Git
5. JDT Enhancements
4. Orion
3. Xtext / Xtend
2. Code Recommenders

In addition to this, Eclipse Juno contains a number of other great features including: Vigro Nano, Jetty 8 (and servlet 3.0 support) and the OSGi RC5 reference implementation.  Please check out PlanetEclipse for exciting announcements and other information related to the Juno release.   While all of these features are pretty cool, the most exciting feature, and Number 1 on my Juno Top 10 List, has been under development for over 4 years: the Eclipse 4.x Platform.

Eclipse 4 started as an incubator (known as e4) and over the past three years, components have been graduating from the incubator into the Eclipse core. Officially, the platform version is 4.2.

From a purely aesthetics perspective, Eclipse 4 brings a whole new look to the workbench:

There are also a number of new interaction and usability improvements, including the ability to mix views and editors:

A universal search bar:

 

and Detached Editors:

Of course, the changes are much more than skin deep.  The new 4.x workbench brings an entirely new programming model.  The workbench is represented as an EMF model, and is dynamically rendered.  This completely separates the UI concerns from the application logic and allows for a much more dynamic workbench and a plug-able presentation engine.  Widgets can now be styled using a CSS Styling Engine:

The platform now supports dependency injection for common services and a common event bus for all workbench related events.

This new programming model is not just for the Java IDE, but represents a much easier way to develop plugins, and RCP Applications.  There are great resources available to help you get started. Also, the e4 incubator has a number of exciting technologies, including a live model editor that you can use to dynamically change the properties of your UI model.

 And a CSS-Spy to help examine the CSS properties:

There are is also a compatibility layer, so your existing plugins should work just fine on the 4.x platform.

As I mentioned above, the Eclipse 4 platform has been under development for a number of years now. Mike Wilson (McQ) leads the project, but the work has been split between a large number of very active (and long-time) Eclipse committers including: Brian de Alwis, Carolyn MacLeod, Curtis Windatt, David Williams, Deepak Azad, Dani Megert, Eric Moffatt, Grant Gayed, Bogdan Gheorghe, Carolyn MacLeod, John Arthorne, Kai Toedter, Markus Keller, Michael Rennie, Oleg Besedin, Pawel Piech, Paul Webster, Szymon Brandys, Lakshmi Priya Shanmugam, Stephan Herrmann, Silenio Quarti, Remy Suen, Thomas Schindl, Thomas Watson and Tomasz Zarna. In addition to this, the e4 (the incubator project) is currently being developed by: Brian de Alwis, Danail Branekov, Bogdan Gheorghe, Lars Vogel, Paul Webster and Thomas Schindl.

To everyone involved with this project, let me extend a very big thank-you. It is your dedication to Eclipse that will ensure the longevity of this excellent platform!  +1 and keep up the great work!

If you would like to try all the features in my Top 10 List (except for Orion, which is not a traditional Eclipse plugin), you can download my Yoxos Profile and start is using the Yoxos Launcher. This will provision an Eclipse install containing the Top 10 Features.

For more Eclipse Tips and Tricks (and the annual Top 10 List), why not follow me on twitter:

9 Comments

Sorry, the comment form is closed at this time.