Say goodbye to the Eclipse 3.x branch. With the release train for Juno arriving today, Eclipse makes a big jump forward from version 3.8 to version 4.2. This release marks the switchover from the Eclipse 3.x branch to the 4.x branch, and brings with it some majorly refactored code.
Ian Skerrett, vice president of marketing at the Eclipse Foundation, said that the move to 4.2 comes after almost two years of work, during which time the community refactored much of the underlying code to make a more decoupled platform.
This decoupling allows for more customization of the platform as a whole. This means skins and themes can be brought into the platform for the first time. Skerrett said previous releases had attempted to make it easier to customize the look of Eclipse, but that these previous efforts weren’t enough for the rich client crowd, who build applications on top of Eclipse.
Version 4.2 also includes the first release of Code Recommenders, a project out of the Darmstadt University of Technology that marks a significant upgrade from standard code completion. “So much focus now is on APIs,” Skerrett said.
“The Code Recommenders team has gone through a lot of the products on the Eclipse Marketplace and Maven Central and GitHub, and done an analysis of how those products use Eclipse and APIs. Then they use those analytics so that when you’re in Eclipse, if you’re starting to use a certain API, the code completion becomes much more intelligent. It’ll say, ‘Based on our experience of other people, if you use this API, the next one you will use will be this one, with 90% confidence.’ It’s like when you’re on Amazon: People that bought this book also bought that book.”
For teams looking to work with OSGi, this release of Eclipse is the first since the release of the fifth revision of the OSGi spec, R5. To that end, the Equinox project is now a reference implementation for R5 as well. Meanwhile, Project Virgo, the open-source application server based on OSGi, has been updated in this release. That effort to make building with OSGi easier has produced new nanokernels, designed to have extremely small footprints on which it is said to be easier to build.
While the standard IDEs for C and Eclipse Java have remained largely unchanged in this release, that’s not to say that a lot of work didn’t go into those tools. With version 4.2, a great deal of the work involved was on a compatibility layer to ensure that existing plug-ins and tools for Eclipse work flawlessly in version 4.2.
C and Java tools will be joined by a new IDE in Eclipse 4.2, however. This release is the first to include the Koneki project, which provides an Eclipse-based IDE for Lua users. This release is only version 0.8, so Koneki is sure to see major updates over time.
Automotive companies have been working on a new Eclipse project, and in this release the fruits of their labors are being revealed for the first time. The Automotive Working Group at Eclipse has produced a specific version of the platform for automotive workers. Previously, many automotive companies had dedicated teams to customize Eclipse for their use. Skerrett said the participating companies will still be customizing Eclipse for their own uses, but that the boilerplate work every company had been doing will now be standardized.
“You’re going to see that happen more and more in the industry, where you get the large end users defining the platform. They say, ‘Here’s the platform you guys build on top of,’ ” he said.
That’s already happening in the aerospace industry too, said Skerrett. The latest plane from Airbus is a massive feat of engineering, but the tools used to design the software for it need to remain available and working for the life of the aircraft. Airbus anticipates the lifespan of its new A380 to be around 70 years. He said the Eclipse Foundation is working with the Aerospace Working Group (also an Eclipse working group) to enable this type of archiving.
For developers looking to build for Android, the Eclipse Foundation has made life a little easier with this release. The Eclipse download site now offers specific Android development builds that include only what’s needed for that platform. Previously, Google had pointed developers at a vanilla download of Eclipse, then offered instructions on installing the SDK and proper tooling.
Finally, Eclipse Juno is the first to include the Xtend JVM language. Major changes from Java for the language include operator overloading and an architecture where everything is an expression.