Eclipse: It’s not just for Java anymore. Well, it hasn’t been for some time, but with the new Ganymede release train of 23 Eclipse projects rolled out simultaneously June 25, that point becomes much clearer.
As Chris Aniszczyk, principal consultant at software consultancy Code, demonstrates on the IBM developerWorks Web site, Ganymede offers improvements in several areas including enhanced support for C and C++ development, new offerings for dynamic language development and a whole lot more.
Also, a new JavaScript IDE (integrated development environment), called JSDT (JavaScript Development Toolkit), provides the same level of support for JavaScript as JDT (Java Development Tools) provide for Java. Some of the new features include code completion, quick fix, formatting and validation. JSDT is part of the Eclipse Web Tools Platform project. In addition, the Eclipse Mylyn project to deliver a task-focused user interface now has support for C and C++ along with the languages supported by the Eclipse DLTK (Dynamic Language Toolkit), including Ruby, Perl and Python.
Mostly, the Ganymede release is about predictability, said Mike Milinkovich, executive director of the Eclipse Foundation. “This is the fifth year in a row that we shipped the last week in June,” Milinkovich said. “Shipping with a regular, repeatable schedule is a big help for companies with product plans based on Eclipse.”
The 23 projects in Ganymede represent more than 18 million lines of code, he said. Milinkovich highlighted a slew of new features and improvements in an interview with eWEEK.
Among the new features and improvements in Ganymede are a new provisioning system, called p2, which makes it easier for Eclipse users to install and update Eclipse. Ganymede also delivers Eclipse 3.4
Meanwhile, the Eclipse implementation of OSGi (Open Services Gateway Initiative) technology, known as Equinox, has added two new security features: a preferences-like storage for sensitive data such as passwords and login credentials which are encrypted using Java encryption mechanisms; and the ability to easily use JAAS (Java Authentication and Authorization service) in Equinox.
The RAP (Rich Ajax Platform) project delivered RAP 1.1, which makes it easier to build rich, graphical, scalable and modular Web applications running on Equinox. New features include the ability to customize the look and feel with Presentation Factories and CSS (Cascading Style Sheets); and the ability to store application state information on a per user basis.
In addition, the ECF (Eclipse Communication Framework) added real-time shared editing and other communications features to allow developers to communicate and collaborate from within Eclipse, Milinkovich said.
“Eclipse has been extremely successful in modeling,” said Milinkovich, noting that several enhancements have been made to the Eclipse software modeling capabilities. New modeling tools provide developers with a graphical environment for creating, editing and maintaining EMF (Eclipse Modeling Framework) Ecore, or EMF core, models. And enhanced Resource APIs in EMF have been added to fully support REST (Representational State Transfer), including support for the full CRUD (Create, Read, Update and Delete) lifecycle.
EMF also gets new graphical user interface tools, and new UML (Unified Modeling Language) diagram support, Milinkovich said.
“From an end-user perspective, the coolest thing I’ve seen is the Cola shared editing work that the ECF project is doing,” said Todd Williams, vice president of technology at Genuitec. “From a technology adopter perspective I think the new provisioning architecture, p2, is a huge step forward to enabling products that solve the Eclipse ‘plug-in hell’ experience that was often pointed to as one of Eclipse’s weak points.”
A Big Accomplishment
Mike Taylor, CEO of Instantiations, said that the “simultaneous release of so many projects makes Ganymede a big accomplishment for the Eclipse community and ecosystem…No surprise there. But, honestly, to us the key is the Eclipse 3.4 release that’s at its core. We build leading-edge tools and our customers demand the ability to use them on the latest and greatest Eclipse releases. That drives us to update and release our products simultaneously with the major Eclipse releases like Ganymede. If you want to play on the edge, and you play to win, it’s really that simple.”
Milinkovich said the alignment of versions and delivering compatibility are key to the release trains. The release trains also help to remove latency between projects and spur user adoption and commercial adoption of Eclipse technology, he said.
Yet, as Code’s Aniszczyk said in his post:
“The important thing to remember about Ganymede and Eclipse release trains in general is that even though it’s a simultaneous release, it doesn’t mean these projects are unified. Each project remains a separate open-source project, operating with its own project leadership, its own committers, and its own development plan. In the end, Ganymede is about improving the productivity of developers working on top of Eclipse projects by providing a more transparent and predictable development cycle.”
Other new Ganymede features include an improved JavaScript editor and a new JavaScript debugger for debugging report event handlers in the Business Intelligence Reporting Tools project. In addition, cross tables have been improved to support multiple measures, display measure values and totals as text or as charts, provide added support for cross table scripting and offer better filtering options.
The Eclipse Data Tools Platform project has added a new graphical SQL query editor, called the SQL Query Builder, and improved usability of connection profile creation and management for users and adopters/extenders.
The WTP has improved UI support for Java EE 5, including new wizards for Servlet Filters, Application Lifecycle Listeners, Session Beans, Message-Driven Beans; meta-data descriptor trees in the Project Explorer; and Bundled Libraries support for Enterprise Application Archive projects.
The Dali Java Persistence Tools has an expanded UI including a new Persistence.xml editor, new Entity and XML Mapping File wizards and JPA specific contributions to the Project Explorer. Dali has also improved configuration and validation with support for mapping with annotations, XML, or with a combination of annotations and XML.
And the WTP JavaServer Faces Tools Project has added features to improve Web application development productivity. The release provides visual editing support for Apache MyFaces Trinidad components and enables support for future JSF 2.0 enhancements such as Facelets.
In addition, the Ganymede release features enhanced support for service oriented architecture with a new Service Component Architecture Designer that provides a graphical interface for developers who wish to create composite applications using the SCA 1.0 standard. There also is a new Policy Editor that is a collection of editors and validators that makes it easy for developers to construct and manipulate XML expressions that conform to the WS-Policy standard. And enhancements to the Business Process Modeling Notation Editor make it a mature and reliable framework that allows consumers to construct and extend the BPMN 1.1 standard notation to illustrate business processes.
Milinkovich said only two more projects are in the Ganymede release than were in the Europa release last year. And he identified two projects that he expects will be ready for next year’s release train: the PHP Development Tools project and the Mobile Tools for Java project. Eclipse has named its release trains after moons of Jupiter. Last year’s was Europa and the year before that was Callisto.
He said the Eclipse Foundation also has been working to attract new members to the organization. He said there are a few potential new members in the works, but he would not disclose their names, as it is Eclipse policy to allow new members to announce their membership themselves.
The projects in the Ganymede release are available for download. Seven Eclipse Packages have been created to make it easier for developers to download multiple projects.
With all the new and improved features in Ganymede, what stands out about the technology to you?