Eclipse originally shipped in November 2001 as an Open Source tools platform with an emphasis on Java. Since then the platform has grown tremendously. Eclipse is a platform for report designers, web engineers, Linux developers, and more. Eclipse provides ALM integration solutions, reference implementations for technologies such as OSGi and JPA and sets the gold-standard for software development — shipping software on-time for over 12 years.
Since 2007, I’ve been counting down the 10 most New and Noteworthy features of each release. These articles highlight the features that I’m most excited about. Here is my list for 2013.
The Business and Reporting Tools (BIRT) is an open source reporting system that integrates with your Java / JavaEE applications to produce compelling reports. Reports can be generated from a number of data sources and target a variety of runtimes such as web, Swing and SWT/RCP based applications.
In Eclipse Kepler, BIRT has added support for NoSQL datasources such as MongoDB and Apache Cassandra. With this new feature you can discover fields in a NoSQL Database, aggregate these fields and produce powerful DataSets. These DataSets can then be used directly in your reports.
One of the biggest improvements to Eclipse over the past 12 years was the migration to Git. To enable this large undertaking, the EGit team has stepped up and produced excellent Git. This year the EGit team is shipping version 3.0 with a number of new features, including a 3-way merge tool, rename support, a more powerful reset dialog and the ability to commit-and-push all at once.
The underlying Java Git Library (JGit) has also been improved in a number of ways including the ability to pre-compute bitmap indices. This results in faster fetch / clone operations than native Git.
Gerrit is a code review system designed for use with the Git version control system. It’s a highly configurable, web-based, review system. Gerrit is used by Eclipse, LibreOffice, Qt, Android and many more. Eclipse Kepler provides tools to integrate with Gerrit, bringing powerful code review tools directly into the IDE.
With the Mylyn Reviews you can easily import change-sets into your IDE and view them in a side-by-side editor. You can comment on the patch and ultimately accept or reject it.
In addition to Mylyn Reviews, the EGit project also provides tools to directly push your changes to Gerrit for review. This means that you can stay focused on your tasks without leaving your IDE.
The Linux Tools project serves two purposes. First, the project provides frameworks for writing tools relevant to Linux developers; and second, the project provides a place for Linux distributions to collaborate and overcome issues related to packaging of Eclipse technology.
Linux Tools 2.0 is shipping with Eclipse Kepler and contains a number of improvements. Most notably, the profiling framework has been revised, integrating several popular profiling tools into a single UI.
From configuring and launching profilers to analysis of profile data, Linux Tools 2.0 makes this process much easier.
One of the oldest, but most used Plug-ins in Eclipse is the Java Development Tools (JDT). The JDT was the original ‘exemplary’ tool that showed just how powerful the Eclipse platform was, and still ships with the majority of the Eclipse packages.
There are a number of small but powerful improvements to the JDT this year including additional quick-fixes, JUnit improvements, logical debug structures for showing XML DOMs and null-analysis for fields. Null-analysis allows you to annotate fields as ‘nullable or non-nullable’ and the compiler will warn you about potential Null pointer access.
The Eclipse Community Survey indicated that Maven has overtaken Ant as the most used build and release management technology. Maven-to-Eclipse (m2e) reflects this reality by bringing Maven support to Eclipse. This year, a number of new m2e connectors for JavaEE and WTP have be included with Kepler. These connectors, called m2e-wtp, adds Eclipse Maven support for war, ejb, ear and rar projects.
M2E-WTP even adds to tools to help you migrate from standard Eclipse projects to Maven Projects and it will search for the best Maven plug-in from available Nexus Indexes to help with this migration.
RAP is the Remote Application Platform for Eclipse. RAP is a platform for developing modern UIs using JavaEE and OSGi, and serve them natively on a variety of different devices through the use of an Open Protocol. An open-source web based client is available as well as several commercial clients for devices such as Android and iOS.
Earlier this year RAP shipped version 2.0, and with Kepler, version 2.1 will land. With the RAP 2.x major release, the client-server protocol was standardized and all communication is now done using a JSON protocol. There is a new API for custom widgets, a new event system, and a new server push API.
In addition to the Protocol and API work, the graphics context now supports paths, many widgets support Mnemonics, and RAP now works across multiple browser tabs.
In 2012, Eclipse released the first major update of the Platform in 8 years. Since then, the platform — Eclipse 4 — has seen a number of improvements. In particular, many of the performance problems that affected Eclipse Juno have been addressed.
Views and editors can be detached and multiple views can be combined into a single window and separated with sashes, stacks and arbitrary layouts. This is particularly important for those who want to spread their Eclipse windows across multiple displays.
Furthermore initial API for Eclipse 4 has been released. Eclipse 4 is the future of the platform, and if you’re building applications make sure you checkout many of the Tutorials and other Eclipse 4.x resources available.
Finally, the Eclipse platform has moved away from a custom build technology to a standard Maven/Tycho build. This is a giant leap forward as it means anybody can get the source code and build Eclipse.
Eclipse has been using p2 for installing and managing plug-ins for over 5 years now. The value p2 brought is that it handled dependencies and other integration problems at install time instead of at runtime — if you can install it, you can run it. Unfortunately this lead to many headaches when trying to install complicated software stacks. The provisioning platform (p2) would often present cryptic error message and users would be left with no way forward.
Pascal Rapicault tackled this problem by adding a remediation wizard. The wizard is automatically invoked when a plug-in cannot be installed. The wizard proactively searches for alternate ways to proceed. For example, it may suggest that other plug-ins be upgrade / downgraded to accommodate the tool you are trying to install.
In 2001 Eclipse was launched as a generic platform on which software tools could be built. Over the years we have seen an explosion of tools; tools for C/C++ Development, Modeling, PHP, Linux Development, etc…
However, when it comes to web development, developers were spread out across a sea of technologies. Notepad for development, Firebug for debugging, Jekyll, Less and other static generation tools, and vi / emacs for system configuration. Eclipse Orion aims to bring web development tools together onto a common platform.
Over the past 12 months, Eclipse Orion has graduated and is now shipping version 3.0. With Orion, Eclipse continues to set the standard for software development tools across all platforms. For those interested in trying Orion, navigate to https://orionhub.org.