Eclipse Juno Release Makes Java Developers Smarter

 
 
By Darryl K. Taft  |  Posted 2012-06-27
 
 
 

Eclipse Juno Release Makes Java Developers Smarter


The Eclipse Foundation is aiming to make Java developers smarter, more productive and better equipped to build mobile applications and apps that leverage the €œInternet of Things€ with its latest release train known as Juno.

For the ninth year in a row the Eclipse Foundation has issued an annual release train of simultaneous projects. This year€™s release, available as of June 27, is the largest ever€”with 72 projects being released representing 55 million lines of code coming from 445 open-source committers. By comparison, last year€™s Indigo release had 62 projects and 46 million lines of code.

The Eclipse release train has become something of a phenomenon in the open-source software industry and a tradition for the end of June. More than 40 Eclipse member companies contributed to the Juno release, which makes the Eclipse platform more stable while delivering greater productivity for developers.

Perhaps the biggest change with Juno is that it is based on the Eclipse 4.x platform, which the foundation has been working on for the last few years. Eclipse 4.2 in now the mainstream platform for the Eclipse community.  The existing Eclipse 3.x code stream is being put into maintenance mode.  Eclipse 4.2 includes a compatibility layer that allows existing Eclipse plug-ins and Rich Client Platform (RCP) applications to work on the new platform. Essentially, Eclipse 4 changes the way plug-in access services by implementing a dependency injection model.

€œEach year the commitment and dedication of the Eclipse committers demonstrate that Eclipse is a great example of open source distributed development that ships on a predictable schedule, and scales to tens of millions of lines of code,€ said Mike Milinkovich, executive director of the Eclipse Foundation, in a statement. €œI am especially happy Juno is based on the Eclipse 4.2 platform, thus providing a stable platform for continued innovation in the Eclipse community.€

In a blog post on Eclipse 4, Jonas Helming, general manager of EclipseSource, a maker of Eclipse components and productivity tools, said, €œIn Eclipse 4, the application model defines the workbench, including views, menu contributions and key bindings. The model doesn€™t require that you first implement the single components. For example, you can work with the model without implementing a view.€

€œFrom a feature function perspective, with Juno we€™re switching over to the 4.x platform,€ Ian Skerrett, vice president of marketing and ecosystem at the Eclipse Foundation, told eWEEK. €œWe€™ve been working on the 4.x series for a few years. One thing we€™ve been working on is the compatibility layer, and we expect a smooth transition.€

Junos Move to Eclipse 4.2 Code Base a Top Feature


 

Ian Bull, a senior software engineer at EclipseSource, listed Juno€™s move to the Eclipse 4.2 code base as the No. 1 item on his top 10 list of best features in the release train.

€œThe most exciting feature, and Number 1 on my Juno Top 10 List, has been under development for over 4 years: the Eclipse 4.x Platform,€ Bull said in a blog post.

€œThe new 4.x workbench brings an entirely new programming model,€ Bull said. €œThe workbench is represented as an EMF model, and is dynamically rendered. This completely separates the UI concerns from the application logic and allows for a much more dynamic workbench and a plug-able presentation engine.€

In an effort to help make Java developers work smarter and become more productive, the Eclipse Foundation has introduced Code Recommenders, a new project that makes Eclipse code completion a lot smarter. Code Recommenders is Eclipse€™s way of applying a bit of analytics to the software development process. Code Recommenders analyzes how applications make use of specific Java APIs to build up a database of best practices. It then provides smarter hints to a developer trying to build applications using those Java APIs. Just like Amazon recommends shopping suggestions, Code Recommenders recommends proper API usage, Skerrett said.

€œIt provides the next level of intelligence around using certain APIs,€ he said. €œIt looks at how certain Java programs use APIs and builds on an analytical knowledgebase so when a developer is using Eclipse and using code completion it€™s a lot more intelligent.€

€œThe Code Recommenders is a plug-in for the Eclipse Java Development Tools that helps manage the complexity of large APIs, by means of intelligent code completion, extended documentation, smart bug detection, and more,€ Bull said in a separate post. €œThe knowledge the plug-in contains comes from large of amount of analysis which has been performed, and is fed back into the IDE.€

Another Juno project, the Koneki project, addresses the €œInternet of Things€ by providing machine-to-machine (M2M) solutions developers with tools to ease the development, simulation, testing, debugging and deployment of embedded or M2M apps. The new Koneki project delivers a Lua IDE. Lua is an embeddable scripting language that is popular in the gaming industry and gaining importance in the M2M industry. Koneki is an important part of the Eclipse M2M Industry Working Group initiative, Skerrett said.

Also, two new packages have been introduced for Juno. One is Eclipse for Mobile Developers, which will make it easier for developers to download and use Eclipse with a variety of mobile SDKs, including the Android SDK. The other is the Eclipse IDE for Automotive Software Developers, which contains the tools and framework required for embedded automotive software development. It is the result of the work completed by the Eclipse Automotive Industry Working Group, Skerrett said.

Other revisions and notable moves for projects in the Juno release include:

  • Eclipse Virgo ships the new Nano kernel that provides the ability to build very small OSGi-based applications. 
  • Xtext has added support for integrated debugging of JVM-based DSLs created using Xtext, and tighter integration with the Java Development Tools (JDT).
  • Eclipse Equinox ships the reference implementation of the new OSGi R5 specifications.
  • Mylyn Intent provides tooling for writing useful and synchronized documentation for development artifacts such as code, models, etc.

€œNow in its eleventh year, Eclipse is continuing to define the IDE for professional developers,€ said Mik Kersten, CEO of Tasktop Technologies and founder of the Eclipse Mylyn project. €œOn the adoption front, Eclipse€™s popularity has grown dramatically with Asia and Android tools driving new downloads. The Juno release includes some incremental improvements, such as the new e4 workbench styling and more tweaks for common workflows across Java, Git, Gerrit and Hudson/Jenkins usage.€

Kersten added that on the innovation front, he believes Code Recommenders is a key development as it makes unique use of Eclipse€™s structured editing and code analysis to enable developers to more easily adopt new and complex SDKs by providing multiline code completions for common API usage patterns.

Meanwhile, €œThe new Mylyn Intent project provides a slick and novel way of combining code with documentation and ALM [application lifecycle management] artifacts,€ he said. €œ And Eclipse Orion continues to explore bringing more of the Eclipse IDE technologies into the browser.  In summary, while cloud based IDE efforts are evolving the way that source code projects are hosted, but still have a long road ahead on basic structured coding features, Eclipse continues to set the bar for developer productivity, extensibility and innovation.€

Rocket Fuel