Last week, EclipseCon 2010 (in conjunction with OSGi DevCon 2010) was held in the Santa Clara Convention Centre. This year saw a number of Eclipse-related technologies and tutorials; so, what was there?
The introductory keynote was on Community and Adaptation, by Steve Harris and Jeet Kaul of Oracle. This was Oracle's first opportunity to discuss publicly about where the Java community will be headed; in particular, what Oracle will be focussing on. The takeaways from the presentation are:
- OSGi is important. Integration with Jigsaw will happen; it looks like Qwylt is the interoperation layer
- JavaFX will continue to be funded and integrated in to both NetBeans and Eclipse
- The JCP is a process which needs to be remediated, but no plans on what should replace it. (Ed Burnette has an interview on this topic)
- Updates to the Java platform need to come faster
The second keynote was arguably EclipseCon's finest. Jeff Norris gave Rocket Science and the Republic on what NASA are doing on top of the Eclipse platform, including remote control of an 8ft robot live on stage with a video link back to the JPL. Ian Skerrett described it as the Best Keynote Ever, and the audience agreed with the first standing ovation at an EclipseCon keynote. All this tied in with the E4 Rover Mars Challenge, which was a competition to build an E4 client to drive a Mars rover (and win points) using Eclipse's next generation platform. The winner was Patrick Akerfeldt and Jon Dearden; though special mention must be made of Peter Friese and Heiko Behrens who made an iPhone app, appearing on Ars Technica with Controlling Mars Rovers? There's an App for that as well as Slashdot.
The final keynote was given by Robert “Uncle Bob” Martin on The Art of saying No. As with QCon, he led with his Bad Code video; well worth watching if you have time.
Although the word Eclipse is synonymous with the Java Development Toolset that brought it widespread acclaim, neither this EclipseCon or the last barely mentioned the JDT. In part, that's due to the lack of changes with the underlying Java language; Project Coin and Project Lambda are likely to be the first changes that cause a refresh of the JDT, but they aren't out until EclipseCon 2011. In fact, the focus of this year's EclipseCon can be summarised as:
- Eclipse Runtime, with new projects like Virgo and Gemini
- The next generation E4, based on dependency injection with OSGi services and mark-up based UIs
- Modelling, but in particular, Xtext as a textual modelling language and DSL
- Enterprise OSGi, including the release of the Enterprise OSGi Specs
- The Tycho build platform, which is a Maven-3 based builder for Manifest-first OSGi development
- The start of the transition towards Git at Eclipse with the first public release of EGit 0.7.1.
Whilst next year will see the release of Eclipse 3.7 (name tba), this year will also see the public release of E4 1.0 (shortly after the Eclipse 3.6 Helios release). Although E4 won't be backwardly compatible, it is anticipated that a compatibility layer will allow all API-clean plug-ins to run on E4 unchanged. However, E4 has a lot of refactoring changes, such as:
- Model-based workbench using EMF to drive the representation of the UI (following the increased modelling themes of the last few years)
- CSS or CSS-like customisation of the UIs to permit greater flexibility of stylistic changes without code changes
- Service oriented instead of global singletons. Using a combination of declarative services and dependency injection, this will acquire workbench services using OSGi services rather than accessing known singletons
Refactoring for E4 may be back-ported to the next Eclipse 3.7, especially accessing via OSGi services. Currently, E4 0.9 is available with a 1.0 release expected mid-Summer.
The continuing transition to Git will ultimately see the demise of SVN and CVS at Eclipse.org; though the tools are not yet up to the maturity of the CVS plugin, they will have the advantage of being distributed fully with Eclipse 3.6 Helios without needing external downloads. And, unlike Mercurial (which is GPL licensed), the EGit plug-in is fully EPL with only a BSD dependency on JGit, which is also developed and hosted at Eclipse. If you're not familiar with distributed version control systems, then Git for Eclipse Users is worth a read. Ultimately, moving towards a DVCS will make everyone's lives, including contributors, a lot easier since patches will never go stale again.
OSGi DevCon was focussed on a lot of modularity-related subjects; mostly the Enterprise OSGi noted above, but also a Cloud Workshop. Richard Nicholson has a write up and presentations covered by the topic. In addition, OSGi is also being exposed in products like Lotus Notes as well as IBM WebSphere.
CDT is continuing to be used by many adopters; Doug's post EclipseCon writeup talks about what they have in store. There are VHDL Eclipse plug-ins as well as support for embedded and mobile toolsets, like Symbian and Android and Nokia using Eclipse. In addition, CDT has now gained Codan to perform static analysis of code and suggest places where errors may occur.
Finally, in recognition of their contributions towards the Eclipse ecosystem, the following Eclipse Awards were announced:
- Eike Stepper, top committer
- Lars Vogel, top contributor
- Walter Harley, top newcomer evangelist
- E4, most open project
- Xtext, most innovative new feature
- Bredex GUIDancer, best commercial developer tool
- Groovy-Eclipse, best open-source developer tool
- SpringSource DM Server, best EclipseRT application
- Tasktop Pro, best RCP application