Jump to: navigation, search


< Orion
Revision as of 16:02, 30 March 2011 by Mark MacDonald.ca.ibm.com (Talk | contribs) (What are the next steps for Orion?: mention orionhub)

If you have a question that is not covered by this FAQ but should, please let us know (on IRC, on the mailing list, or by filing a bug). Thanks!

What is the Orion project?

Orion's goal is to become an open tool integration platform for web-based software development. The vision is to move software development to the web as a web experience, as opposed to just cloning the desktop IDE experience in a browser. For now, Orion is a code contribution to the Eclipse e4 incubator by IBM. With other interested participants, we are planning to start a proper eclipse.org project within the next few months.

What are the benefits of bringing the development infrastructure to the web?

More and more software and infrastructure is moving to the web and adopting web technologies. The same reasons apply to software development tooling:

  • Zero install on the client
  • Lower total cost of ownership
  • Scalable computing power
  • Simple connectivity -- links
  • Trivial update mechanism (i.e. refresh the page)
  • Powerful rendering engine -- browsers
  • Very large and active community

What is the current status of the project?

The current code base has been developed by a handful of developers over a few months. Orion has a fast and scalable code editor that runs on all major desktop browsers. There is a way to navigate files and folders and to search, and work has begun to integrate with Git. For the debugger part, the plan is to integrate well with Firebug and/or WebKit inspector.

Can Orion be used for real work?

Not in its current form - there are still a number of gaping holes in terms of functionality. As of M6, Orion has at least the following major limitations:

  • Orion has a limited UI for working with git version control. You can compare changes, stage, and unstage your work, but you must use another git client to push and pull changes. There is no support for other version control systems yet.
  • Support for moving and copying files in the workspace is very limited.

A web-based IDE was originally announced as part of the e4 effort. How do these early announcements relate to what is currently available in the Orion codebase?

At EclipseCon 2008, almost three years ago, we demoed a prototype of a web-based Eclipse. We decided back then that we were too early and did not continue working on the prototype. The Orion code base is a completely new implementation, focused on web technologies and principles. The idea is to make the web itself the development environment, instead of trying to bring existing desktop IDE concepts to the browser.

Which technologies are running behind the scenes of the Orion project?

To realize our vision of embracing the web, the important technologies will be RESTful HTTP, HTML, JavaScript, CSS, JSON, Atom, OpenID, OAuth, etc. Our goal is to enable linking between Orion and other web-based tools such as bug tracking systems like Bugzilla, build monitoring tools like Hudson, code review tools like Gerrit, versioning repositories like GitHub, and so on. By comparison, the concrete technologies used for our current implementation are not as important to us, but since you asked, we used pure HTML, CSS, JavaScript, and Dojo on the client, and Java with Equinox, Jetty, and JGit on the server.

What is the relationship between Orion and OSLC?

None today. One of the stated objectives of the OSLC community is creating open, public descriptions of resources and interfaces for sharing the things development teams rely on. As Orion grows and evolves we're going to need to define similar integration points and policies. The obvious place for this relationship is in Orion's access and update of life-cycle artifacts and we anticipate both working with and adopting OSLC specifications for these purposes.

What is the relationship between Orion and the Rich Ajax Platform (RAP)?

Orion does not use the Rich Ajax Platform (RAP). Quoted from the RAP project homepage, "the Rich Ajax Platform lets you build rich, Ajax-enabled Web applications by using the Eclipse development model, plug-ins with the well known Eclipse workbench extension points and a widget toolkit with SWT API. Existing RCP applications can be run as Web applications with only minor changes." Orion is a completely new codebase and has no dependencies on the traditional Eclipse development model with its plug-ins, extension points, Java API, or SWT widget toolkit.

Orion is not based on the old Eclipse codebase, so how does the Orion code relate to the “old” Eclipse platform code and the other existing Eclipse projects?

We are using code from the Eclipse Runtime project for our server. On the client side, we are working on UI components that are fully web based. To the extent possible, we want to make it possible to use these web UI components in the existing desktop Eclipse, for example as views or editors. But the codebases will be separate. We are only starting with Orion, and are at a very early stage. The desktop Eclipse IDE is not going to go away, and is going to be actively developed and maintained for many years to come.

Is Orion limited to providing a development infrastructure, or is it conceivable to use the Orion code for other purposes, in a similar way the Eclipse code was used for RCP and Runtime Projects?

This is definitely conceivable, but not our current focus. We will definitely be thinking about this constantly as we are developing Orion further.

What are the next steps for Orion?

We are currently preparing a proposal to create a formal Orion project at Eclipse. In parallel, we will be improving the current code base based on our own needs, since we are already self-hosting — i.e. using Orion itself to work on the client side of Orion.

We've also made a hosted version of Orion available at orionhub.org so that those who would like to try it can do so with minimal effort.