A tour of Eclipse Helios

Find out what's new in the latest simultaneous release from Eclipse

The Eclipse Helios simultaneous release of 39 Eclipse projects and 33 million lines of code showcases the diversity and innovation going on inside the Eclipse ecosystem. Get an overview of several projects, along with resources to find out more information.

Chris Aniszczyk, Principal Software Engineer, Red Hat Inc.

Chris AniszczykChris Aniszczyk is the co-author of "The Eclipse Rich Client Platform" book and has been recognized by the Eclipse Community Awards as Top Ambassador and Top Committer. He tends to be all over the place inside the Eclipse community by committing on various Eclipse projects. He sits on the Eclipse Architecture Council, Eclipse Planning Council and has the honor to represent the committers on the Eclipse Foundation's Board of Directors. He's always available to discuss open source or Eclipse over a frosty beverage. You can read his blog and follow him on Twitter as @caniszczyk.



15 June 2010

Also available in Japanese Portuguese

Helios is the simultaneous release of 39 Eclipse projects. In terms of statistics, the Helios release includes 33 million lines of code developed by about 500 Eclipse.org committers from 44 companies. The important thing to remember about Helios and Eclipse simultaneous releases in general is that even though it's a simultaneous release, it doesn't mean these projects are unified. Each project is a separate open source project within Eclipse.org, operating with its own project leadership, its own committers and its own development plan. The simultaneous-release concept is designed to provide a transparent and predictable development cycle.

Get Helios

There are two main ways to get Helios-related projects. The first — and recommended — way is to just grab a package relevant to you. The other way is via the Helios software repository at Eclipse.org.

Figure 1. Helios packages
Screenshot showing the different Helios packages

Packages

Go to the Eclipse Helios Packages site, which contains 12 pre-bundled versions of Helios projects specific to your needs.

Helios repository

To get Helios using a software repository, download the Eclipse V3.6 SDK. Then you can launch Eclipse and access the software-update mechanism via Help > Install New Software (see Figure 2). Enter the proper Helios repository information, if it isn't already available. Once you are connected, you should see the list of available projects that are part of the Helios release. It's as simple as that. Once you're connected, you can simply choose what features to install into your Eclipse.

Figure 2. Browsing the Helios repository
Screenshot showing the different Helios repository

Eclipse Marketplace

It's important to mention that the Eclipse Marketplace was launched as part of the Eclipse Helios release. It offers the Eclipse community a convenient portal that helps folks find open source and commercial Eclipse-related offerings. If you downloaded Helios via a package, you'll have access to the Eclipse Marketplace client via Help > Marketplace Client that allows you to easily browse the marketplace offerings and install them into Eclipse (see Figure 3).

Figure 3. Browsing the Eclipse Marketplace
Screenshot shows the projects listed in the Eclipse Marketplace

The projects

Table 1. Helios projects
ProjectSynopsisWebsite
AcceleoA pragmatic implementation of the OMG MOF Model to Text Language (MTL) standardhttp://eclipse.org/acceleo
Accessibility Tools Framework (ACTF)Build applications and content for people with disabilitieshttp://eclipse.org/actf
AmalgamImproved packaging and usability of Eclipse Modeling projectshttp://eclipse.org/amalgam
Atlas Transformation Language (ATL)A model transformation language and toolkithttp://eclipse.org/m2m/atl
BPMN ModelerA business process diagram editor for business analystshttp://eclipse.org/bpmn
BuckminsterA set of frameworks and tools for automating build, assemble and deploy processeshttp://eclipse.org/buckminster
Business Intelligence and Reporting Tools (BIRT)Generate reportshttp://eclipse.org/birt
C/C++ Development Tooling (CDT)Code C/C++http://eclipse.org/cdt
Connected Data Objects (CDO) Model RepositoryA distributed shared model framework for EMF models and meta modelshttp://eclipse.org/cdo
DaliJava™ persistence toolshttp://eclipse.org/dali
Data Tools Platform (DTP)Extensible frameworks and tools for working with databaseshttp://eclipse.org/datatools
Dynamic Languages Toolkit (DLTK)Extensible frameworks and tools for working with dynamic languageshttp://eclipse.org/dltk
Eclipse Communication Framework (ECF)A framework for supporting the development of distributed tools and applicationshttp://eclipse.org/ecf
EclipseLinkAdd persistence to your applicationhttp://eclipse.org/eclipselink
Eclipse Modeling Framework (EMF)Modeling framework and code generation facilitieshttp://eclipse.org/emf
Eclipse Packaging Project (EPP)Create packages and Eclipse distributionshttp://eclipse.org/epp
Ecore ToolsEdit your EMF models graphicallyhttp://eclipse.org/modeling/emft/?project=ecoretools
EGitUse Git within Eclipsehttp://eclipse.org/egit
EMF CompareSupport for comparing and merging EMF modelshttp://eclipse.org/modeling/emft/?project=compare
EquinoxImplementation of the OSGi core framework specificationhttp://eclipse.org/equinox
Extended Editing Framework (EEF)Improve the way you edit EMF modelshttp://eclipse.org/modeling/emft/?project=eef
Graphical Editing Framework (GEF)Develop graphical applicationshttp://eclipse.org/gef
Graphical Modeling Framework (GMF)Develop graphical editors using EMFhttp://eclipse.org/gmf
Java Development Tools (JDT)Code Java technologyhttp://eclipse.org/jdt
Java Emitter Templates (JET)A code-generation libraryhttp://eclipse.org/modeling/m2t/?project=jet
JavaScript Development Tools (JSDT)Code JavaScripthttp://eclipse.org/webtools/jsdt
JavaServer Faces (JSF) ToolsDevelop JSF applicationshttp://eclipse.org/webtools/jsf
Java Workflow Tooling (JWT)Tools for workflows and processeshttp://eclipse.org/jwt
JettyA fast and powerful web server-related technologyhttp://eclipse.org/jetty
JGitA Java implementation of Githttp://eclipse.org/jgit
Linux ToolsIntegrates GNU Autotools, Valgrind, OProfile, SystemTap into Eclipsehttp://eclipse.org/linuxtools
Marketplace Client (MPC)Install features from the Eclipse Marketplacehttp://eclipse.org/mpc
MDT UML2An EMF-based implementation of the Unified Modeling Language 2http://eclipse.org/modeling/mdt/?project=uml2
MDT OCLAn EMF-based implementation of the Object Constraint Languagehttp://eclipse.org/modeling/mdt/?project=ocl
MDT XSDAn EMF-based implementation of the XML Schema Definitionhttp://eclipse.org/modeling/mdt/?project=xsd
Memory Analyzer (MAT)Find memory leaks and analyze heap dumpshttp://eclipse.org/mat
MintJDT and EMF integrationhttp://eclipse.org/modeling/emft/?project=mint
Mobile Tools for Java (MTJ)Mobile device Java application developmenthttp://eclipse.org/dsdp/mtj/
Model To Text (M2T)Generate textual artifacts from modelshttp://eclipse.org/m2t
Modeling Team FrameworkEMF meets software configuration managementhttp://eclipse.org/modeling/emft
Modeling Workflow Engine (MWE)Model processing workflows for EMFhttp://eclipse.org/modeling/emft/?project=mwe
MoDiscoAn extensible framework to develop model-driven toolshttp://eclipse.org/MoDisco
MylynTask management for Eclipsehttp://eclipse.org/mylyn
Net4jAn extensible client-server systemhttp://eclipse.org/modeling/emft/?project=net4j
Parallel Tools Platform (PTP)Tooling for parallel application developmenthttp://eclipse.org/ptp
PhotranCode Fortranhttp://eclipse.org/photran
PHP Development Tools (PDT)Code PHPhttp://eclipse.org/pdt
Plug-in Development Environment (PDE)Tooling for Eclipse and OSGi-based applicationshttp://eclipse.org/pde
Rich Ajax Platform (RAP)Run your RCP applications on the webhttp://eclipse.org/rap
Service Component Architecture (SCA) ToolsTools for SCAhttp://eclipse.org/stp/sca
SequoyahTools and frameworks for mobile application developmenthttp://eclipse.org/sequoyah
SOA ToolsDevelop SOA-based applicationshttp://www.eclipse.org/stp
SubversiveWork with SVNhttp://eclipse.org/subversive
SwordfishAn extensible SOA framework based on Equinoxhttp://eclipse.org/swordfish
Target ManagementConfigure and manage remote systemshttp://eclipse.org/dsdp/tm
TeneoA database persistenc solution for EMF using Hibernate or EclipseLinkhttp://eclipse.org/modeling/emft/?project=teneo
Test and Performance Tools Platform (TPTP)Tooling for profiling and testing applicationshttp://eclipse.org/tptp
XtextA framework for developing DSLshttp://eclipse.org/xtext
Web Tools Platform (WTP)Code Web and Java EE applicationshttp://eclipse.org/webtools

Project showcase

Linux tools

"The Eclipse Linux Tools project is pleased to be a part of the Helios simultaneous release," said Andrew Overholt, project lead. "Our project aims to provide tools for Linux® C/C++ developers, building on top of the rich Eclipse toolset, including the Platform, the CDT, BIRT, and GEF.  We provide Eclipse plug-ins to integrate with native development tools, such as the GNU Autotools, LTTng, Valgrind, GCov, OProfile, RPM, GProf, and SystemTap. Our main goal is to provide a full-featured C and C++ IDE for Linux developers."

Overholt also said, "Helios includes our 0.6 release, which features improvements to many of our components. Our LTTng integration features a new histogram view to help with visualizing trace files and our GProf plug-ins now allow for easy viewing with BIRT-driven charts. Speaking only of 0.6 does not do justice to the work that has gone into our previous releases that have never been a part of the Eclipse simultaneous release:

  • GNU Autotools integration with the CDT allowing for the many existing projects that use the GNU Autotools to build from within Eclipse
  • a C/C++ call graph utility that is driven by SystemTap and visualized with Zest from GEF
  • an RPM .spec editor with rpmlint integration
  • display of GProf profiling data
  • GCov code coverage display and annotation
  • a framework for integrating native profiling tools with the CDT
  • simple launching and visualization of Valgrind memory usage analysis tools for CDT projects
  • single-click profiling with OProfile and integration with the CDT
  • ChangeLog management tools which integrate with various version control providers
  • plugins bridging the CDT's hover help functionality with various open source API documentation formats; called libhover

"On top of that, a lot of bug fixing has also gone into our 0.6 release."

And Overholt said, "The Linux Tools project also aims to increase the amount of Eclipse technology available in Linux distributions. We are working towards this goal by providing a build harness of the Eclipse SDK that is easy to consume for Linux distributions and already have a number of distribution consumers."

Figure 4. Linux Tools in action
Screenshot of Linux tools showing a sample of the monitoring tools

Xtext

"Xtext is a language development framework that allows to easily develop your own domain-specific or full-fledged programming languages and corresponding Eclipse-based IDE support," said Sven Efftinge, Xtext committer. "Based on a grammar language and a set of modern APIs, one can describe the syntax and semantics of the language. Xtext provides a rich-featured and highly configurable IDE, including validation, code completion, an outline, formatting, syntax coloring, code-generation stubs, etc. In the Helios release, Xtext graduated to Version 1.0. It now features namespace-based scoping, builder infrastructure, validation and linking based on dirty state, quick fixes, linking to Java elements, enhanced serialization support, and much more. This makes Xtext amenable not only for domain-specific languages but also for full-fledged programming languages."

Figure 5. Xtext in action
Screenshot of Xtext showing a typcial project layout

Rich Ajax Platform (RAP)

RAP makes it easier to single-source desktop and web applications with Eclipse RCP and RAP.

RAP committer Benjamin Muskalla said, "The Rich Ajax Platform has grown into a mature platform for server-side OSGi development of rich Internet applications. As part of the Helios release, it not only offers many new state-of-the-art features like drag and drop, a GraphicsContext and rich theming capabilities but in addition tight integration with other Eclipse projects like EMF and Riena. Using RAP for single-sourcing existing RCP applications enjoys enormous popularity withtin the Eclipse community."

Figure 6. An example RAP application
Screenshot of a sample RAP application with a top menu, drop-down selections and various panes

Sequoyah

"Sequoyah was chartered in December 2009 to provide a project for mobile tools developers, regardless of which language or mobile platforms they use," said Eric Cloninger, project lead. "Our committers come from Motorola, Nokia, and Wind River. Sequoyah also has strong participation from RIM and the Symbian Foundation.

"We began the project by moving several narrowly focused subprojects from DSDP and took responsibility for the Pulsar package. For Helios, we've added new components and we will graduate as a mature project with this release. The future of Sequoyah is promising as we have several new proposals under way for supporting web applications and Android native development."

Figure 7. Sequoyah in action
Screenshot of Sequoyah with various files listed and a console window open

PHP Development Tools (PDT)

Project lead Roy Ganor said, "Summarizing a great year for both the Eclipse and PHP communities, the Eclipse PDT project provides even more source editing features for the PHP developers, such as new template content assist and advanced syntax coloring. Our focus on quality has proven to be immensely successful. With over 400 issues fixed and over 50 enhancements contributed by the community, PDT is more stable than ever."

C/C++ Development Tools (CDT)

"The CDT project is offering improved debug support for the Helios release," said Doug Schaefer, CDT project lead. "First off, the DSF/GDB debug interface reached sufficient parity with existing CDI/GDB interface to warrant switch in default launch configuration type. Furthermore, a new Eclipse C/C++ Debugger (EDC) is introduced as optional component that provides direct debugger interface to OS APIs for Windows and Linux. On top of that, we introduced the new Codan static analysis framework as optional component to provide semantic error reports ahead of compile time. Also, support for C++0x is progressing well as matching support provided by gcc 4.3+."

Figure 8. C/C++ Development Tools (CDT)
Screenshot of C/C++ Development Tools (CDT)

Mylyn

Mik Kersten, project lead, said, "Since last year's Galileo release, Mylyn's APIs, features and integrations have grown substantially. Popular features such as Mylyn's Connector Discovery are now reusable. We've created scheduled presentation that will help the growing number of Mylyn users that manage very large task lists. C/C++ developers now get one-click multitasking and workspace focusing out of the box, with support for CDT. But what's most exciting is how much the Mylyn ecosystem has grown during the Helios release. As of June, the majority of leading Agile and ALM tools provide Mylyn connectors, helping an increasingly large portion of the developer community get the productivity benefits of the task-focused interface."


Friend of Helios and Eclipse

There are many people that use Eclipse out there, from developers to just users who sometimes want to give back to the Eclipse community in some fashion. The Friends of Eclipse program allows you to contribute back to the Eclipse community. To celebrate the upcoming Helios simultaneous release, The Eclipse Foundation wants to recruit 360 new Friends of Eclipse. For a $35 contribution, you can become a Friend of Eclipse and get early access to the Helios release, direct from the download server at the Eclipse Foundation. Your contribution will also help support the Eclipse community in a variety of ways:

  • Providing more bandwith for users and developers
  • Purchasing additional servers to host Eclipse projects
  • Sending students to Eclipse conferences
  • Sponsoring Eclipse community events
Figure 9. Become a friend of Helios and Eclipse
Screenshot of the banner inviting people to become a friend of Helios and Eclipse

Helios review contest

The Eclipse Foundation wants to hear what you think of the Eclipse Helios projects being shipped as part of Helios. The Eclipse Foundation is hosting a review contest so if you write a review about Helios you'll be entered to win some prizes. All qualified reviews get a Helios T-shirt. Since Eclipse is a global community, feel free to write or record your review in any language that you're comfortable with.


Conclusion

What's next after Helios?

The Eclipse community recently voted that the name of the next simultaneous release will be Indigo. See you in June 2011 for Indigo.

The goal of this article was to take you through the Helios simultaneous release and showcase some of the projects that are part of the release. I gave you a tour of the Helios projects with some information from Eclipse project leaders.

So what are you waiting for? Go grab Eclipse Helios and give it a try.

Resources

Learn

Get products and technologies

Discuss

  • The Eclipse Platform newsgroups should be your first stop to discuss questions regarding Eclipse. (Selecting this will launch your default Usenet news reader application and open eclipse.platform.)
  • The Eclipse newsgroups has many resources for people interested in using and extending Eclipse.
  • Participate in developerWorks blogs and get involved in the developerWorks community.

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Open source on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Open source
ArticleID=495103
ArticleTitle=A tour of Eclipse Helios
publish-date=06152010