Original URL: http://www.theregister.co.uk/2011/03/21/eclipse_project_orion/

Eclipse sings open-web tune: No framework, no problem

Heavyweight backs JavaScript, HTML, and CSS

By Gavin Clarke

Posted in Developer, 21st March 2011 21:17 GMT

Eclipse Foundation executive director Mike Milinkovich wants to make one thing perfectly clear: Project Orion is not Eclipse.

Project Orion is a browser-based development effort run by the Eclipse Foundation, but it has nothing to do with the Eclipse Framework, a workbench favored by enterprise Java developers for connecting lots of different third party tools into a common and open framework. Orion does not squeeze the Eclipse Framework into the browser, and it doesn't try to plant an IDE in the cloud. It's not even built on the same language as Eclipse. Orion is built on JavaScript while Eclipse is mostly written in Java.

Orion targets those building JavaScript, HTML5, and CSS apps for the mobile web and app stores from the inside of browsers from Apple, Google, Mozilla, and Microsoft.

Milinkovich even seems to brush off those inside his mighty organization who say they don't understand why Eclipse is doing Project Orion. If you don't get Orion, "it just means you're not the right audience for Orion," he tells The Reg.

In the 10 years since IBM helped establish Eclipse in 2001, Eclipse made its name as a framework for tools from IBM, Oracle, CA, and SAP.

Eclipse has touched on the web from time to time. There have been plugins for languages like Ruby on Rails and PHP. And there was the Web Tools Project, which includes tools for JavaScript development, JavaServer Faces, and Enterprise Java Beans as well as tools for working with XML, XML Schema, XSL, and HTML.

The organization's project expertise lies with tools for server-side Java, BI, data-centric applications, and the desktop. But Eclipse has sprawled as more and more projects have been added: from seven million lines of code in 2006 to 33 million lines in last year's release. Not something you could fit into a browser.

So what is Orion if it's not Eclipse? And why is Eclipse turning its attention to the mobile web and app stores?

Orion is an attempt to deliver an integrated platform for those building an open web using HTML5, JavaScript, CSS, and other technologies, according to Milinkovich.

Orion is not going to deliver still-more JavaScript and HTML tools in the client. Its focus is on building a collaborative workspace for the users of these tools. The first part of the server-side was delivered as a beta for developers to test on Monday: Orion Hub, an Equinox OSGi server built in Java, where you register and create a workspace. The server and the client speak to each other using RESTful APIs. The beta comes as Eclipse holds its annual EclipseCon in Santa Clara, California.

According to Milinkovich, tools that plug into Orion via the browser can make changes to code or artifacts on the server and have them reflected across all devs working on a project.

This is reminiscent of the shtick IDE makers like Borland Software used to spin: collaborative team development to justify the sale of big, fat IDEs on the client with a team server on the back end to check-in and check-out code, manage progresses, and "improve productivity".

Death by bloat

Marketing types spun this line, CIOs and heads of app dev bought in to it, and those doing the coding got stuck with horrible IDEs that they hated and invariably didn't use them.

Eclipse helped kill companies like Borland and forced a realignment in the tools market because its Framework code was open source and freely available. It ended the lock-in companies had tried to exert over developers and partners via their closed-source and bulky IDEs.

Orion is different. It doesn't install on your PC. It runs in the browser while third-party tools attach to it through the browser too. Milinkovich says that all plugin makers can hook into Orion with a few lines of JavaScript code and a URL to connect to the server. Building a plugin to work with the Eclipse Framework required a lot more knowledge of the Eclipse code base. The Orion client works in Chrome, Firefox 3.6 and 4.0, Internet Explorer 8 and 9, and Safari 5 and integrates with browser capabilities such as tabs, bookmarks, URL sharing.

Collaborate not isolate

"For large part, the value proposition for Orion is to use it as an integrated platform for existing and future tools," Milinkovich said. "Today... there's no single platform that provides developers with the ability to unify them into a single workflow or user experience - that's the gap Orion is trying to fill.

"If you've got an exiting web based tool you can integrate it with Orion very simply - all you need is a URL to write glue code so it appears on the Orion toolbar immediately."

So why is Eclipse embracing web development and leaving the enterprise and the framework that made it both feared and loved in enterprise circles behind?

According to Milinkovich, it's about bringing tools for the open web together.

"We hope that the availability of tools like Orion will help make the momentum around the open web much more rapid than it is today. One of the competition points between the closed web and the open web is having the tooling in HTML and JavaScript," Milinkovich said.

There's been a big debate recently about the open web. Web daddy Tim Berners-Lee reckons the ubiquitous web he helped found is dying thanks to closed-off sites like LinkedIn and Facebook. These sites - and you can throw Apple's App Store in there too, although Berners-Lee didn't mention it - might use HTML or JavaScript on the web layer but they are keeping data, the crown jewels of their services, behind a fence of closed APIs.

This means the data cannot be easily withdrawn, say by a user looking to move on from their service, nor can it be accessed by rival service providers. That data might be somebody's personal contact details, photos they've uploaded, status updates or it might just be music files.

Milinkovich said he doesn't see any contraction in building the web using APIs and HTML5 - you can support HTML5 and still think APIs are important. "But I think standard APIs are going to be an important part because it's been an important part of every wave of technology. Without interoperability that well known APIs provide, you don't have an industry platform, you don't have a foundation that the industry can grow on," he said.

Why is Eclipse jumping into the free-web debate now?

Just like Eclipse before it, Orion was kick-started by a donation of code by IBM - still the Foundation's biggest single backer after all these years in terms of engineers on projects.

IBM again

In December, IBM donated initial code for Orion's JavaScript, HTML and CSS editor, for the integration with Git, and an architecture to integrate with other JavaScript tools an support for the various browsers. Asked why IBM's getting fired up over the open web, Eclipse won't speculate. Milinkovich wants to make sure IBM doesn't dominate this time, and there has been participation in early meetings from Mozilla, Motorola, GitHub, and others. The first planning summit was held last week to establish Orion's scope and roadmap.

Time will tell whether Eclipse can move outside of IBM's shadow on the open web.

Also, whether the philosophy of Orion can attract a development community that partly differentiates itself against the kind of place where Eclipse is coming from - the enterprise, server-side Java and C++ development.

While Orion is not the same Eclipse technology, which has grown spaghetti like over the last decade, Milinkovich feels Eclipse has much to offer in building a community and ecosystem.

He'll certainly need that experience if Orion is to follow in the footsteps of its bigger, disruptive twin. Milinkovich hope is for an ecosystem will spring up around the server that implements the Restful APIs, with servers for PHP or node.JS. He's also looking for editors in other languages outside JavaScript, HTML5 and CSS - such as PHP, Perl, and Ruby.

"That's something where we need the community to step up. We are starting with JavaScript," he said. ®