Eclipse Goes Online
Online applications are no longer a trend, they're a reality. The concept of SaaS, Software as a Service, started as small drops (online e-mail) and quickly became a surge. The Online Office, also known as Office 2.0, became a ruthless battleground for giants and smaller players, eating chunks from the desktop office applications market share (see this growing list of Office 2.0 applications).
The main reason is to reduce costs. The major costs are installation and maintenance (upgrades, support). In an organization, installing and maintaining individual machines, each with somewhat different software configuration, means huge costs. This can all be simplified if the only software you'll need is your browser. An upgrade is done only on the server and most client problems can be solved by cleaning the browser cache. One may say that this is the holy grail of the IT department.
It is just a matter of time until the trend reaches software development tools. There are some examples of "online IDEs", but none of them seems strong and generic enough to replace the desktop IDE. Most of the online alternatives are focused on developing specific applications for a proprietary online platform (like Coghead). The major players in the IDE world (Microsoft, Eclipse, IBM, Sun) are still investing in desktop solutions.
Two new technologies, which has been recently introduced, suggest an online direction for Eclipse. While it's possible that none of them is adequate, this is a strong indication on the future of the platform. I don't think that the desktop version will fade away in the near future, from the same reason that desktop office applications are still with us. Nevertheless, it is possible we will see a viable online alternative to the desktop IDE soon.
The first technology is RAP, Rich Ajax Platform, a new Eclipse sub-project, aimed to "enable developers to build rich, Ajax-enabled Web applications by using the Eclipse development model...". In other words, it gives you an online Eclipse-like environment, which you can use to develop your own applications. It works a bit like Google's GWT: you use a Java API, closely resembling the basic Eclipse SWT API, which produces HTML and JavaScript for you. The results are impressive, but it does require developing your plug-ins specifically for RAP, so you can't just run all the current Eclipse plug-ins you have, like the Java Development Tools.
The second technology is from IBM AlphaWorks, called EcliFox or "Eclipse on the Browser" (IBM are known for bad names :-). It's "An Eclipse plug-in that enables browser-based access to Eclipse". Instead of using HTML, this plug-in converts the SWT controls to XUL. This means it will only work with Gecko-based browsers, like Firefox. However, it holds the potential of running existing plug-ins, which brings us closer to the goal of having an online IDE. The demo is impressive as well.
These are very different technologies, but the goal is the same: to take the Eclipse platform on-line. I'm thinking of the amount of time spent of installing and troubleshooting the Eclipse installations in my previous project and it makes a lot of sense. This is something to keep an eye on.
Hi,
Good post.Good luck for Eclipse.
Thanks
Prashant
Posted by: prashant | Oct 15, 2007 at 15:28
Yes - This has been a long time coming. I have spent many hours learning SWT/JFace hoping that this would allow my RCP applications to be web applications with just a separate deploy step involved. So far there have been limitations to this approach at the code level.
I am most excited about the new IBM AlphaWorks plug-in, but you have to have an ID to download and try it. Also yes, seems good approach. Here is hoping that this technology is ready to mature.
Thanks,
Jeff
Posted by: Jeff Caldwell | Oct 15, 2007 at 17:32
I don't wish to sound naive, but couldn't Eclipse just be run as an applet?
Posted by: furtive | Oct 15, 2007 at 21:25
I believe it will take more time for these technologies to be mature. From my experience with the IBM AlphaWorks, most project don't even "graduate" to become production quality products.
Regarding running as an Applet: there are many limitations to Eclipse that prevents it from running as an Applet. I'm not sure SWT will work properly, but even if it will, you would have to install a lot of JARs in order to get it up and running. It is also designed to work with a local storage which you will need to provide. The point is to run on a remote storage with zero installation.
Posted by: Zviki Cohen | Oct 16, 2007 at 08:19
You can run Eclipse in webstart, and embed the browser in it.
A sort of applet the other way round: you embed the browser and interact with the desktop.
A lot of megabytes as first download, but then you can use Eclipse update for upgrades and plugins.
Posted by: Garidan | Oct 16, 2007 at 09:28