Eclipse Zone is brought to you in partnership with:

He is a entrepreneur and a software architect from Tel Aviv, Israel. He is also a technology freak with about 20 years experience working with computers. He is currently working on his first private initiative in the area of software development tools. His vision is to maximize the abilities of software developers by providing pragmatic tools that enable them to get fast results. Zviki has posted 36 posts at DZone. You can read more from them at their website. View Full User Profile

Who Needs an Online IDE?

04.14.2008
| 70431 views |
  • submit to reddit
We've seen some hype lately around the next Eclipse release dubbed E4. The theme of E4 would be to take Eclipse online. This is not the first attempt (I wrote about it 6 months ago), however, now it has turned from a sporadic effort to a full blown platform migration.

 

The Eclipse Duality

Before looking deeper into this trend, there's a much needed distinction to be made. Eclipse, as a brand, stands for two different entities: the Eclipse IDE (Integrated Development Environment) and the Eclipse RCP (Rich Client Platform). It's easy to get confused, but it's not the same thing. It's almost like the difference between Microsoft VisualStudio and the .Net platform.

The Eclipse IDE is a great tool for software development. You can use it to develop in Java, C++, Ruby and many other languages. On the other hand, the Eclipse Platform is a framework for developing Java based cross-platform desktop application. The Eclipse IDE uses the Eclipse Platform as its' base. The Eclipse IDE is the best tool for developing applications for the Eclipse platform, however, one may use any IDE which supports Java development for that purpose.

In this post, I will focus on the Eclipse IDE, looking forward to E4.

 

Who Needs an Online IDE?

The trend of taking desktop applications online and providing them as a service (SaaS) is not new. It was only a matter of time until it gets to the IDEs. It's taking longer for the IDE market to be affected, probably because it is a much smaller market than, let's say, word processors. The online word processors market is already saturated with products like Google Docs and Zoho Writer.

Most online IDEs are very specific (unlike generic IDEs like Eclipse), geared towards a given service or platform. The IDE is not the service being provided, but rather a tool for the user to consume other services. For example, the service can be an online database and the online IDE would allow developing solutions on top of this service: database definition, screen design, coding and even debugging. The deployment is seamless, using the provided service.

Examples for such services are Coghead, Zoho Creator, Bungee Builder, Microsoft PopFly and Yahoo Pipes. These are all proprietary services. Some use their own languages and all of these services are restricting the deployment to their servers. This is usually their underlying business model: providing the service for executing the complete application.

Zoho Creator - User Defined Function

There are a few services which are more generic by nature, based on standard languages. For example, Heroku is using Ruby on Rails (RoR) and can be used develop and deploy a full RoR application. A unique feature in Heroku is the ability to export your code. Since the code is generic RoR, you can then deploy it on any server that supports RoR. Heroku is based on Amazon EC2 platform. I won't be surprised to see Python-oriented services based on Google's AppEngine soon. Another interesting example in this area is AppJet which uses JavaScript.

The Heroku IDE

This online IDE roundup cannot be complete without mentioning CodeIDE and ECCO. Both provide completely generic online IDEs. They seem like perfect tools for people learning how to program, allowing the user to instantly start coding and see the results. Although these are not complete IDEs, they provide a glimpse of what a generic online IDE might look like.

All the services above have mainly two thing in common: they do not require any installation and moving from coding to execution is just a few clicks away. Usually, there are considerable overheads in IDE installation, environment configuration and server deployment and execution. This can all be avoided, saving a great deal of time (and agony, speaking from personal experience).

Nevertheless, none of these services is even close to the rich feature set you get from a true desktop IDE like Eclipse or VisualStudio. This gap is not unique to IDEs, though. People switching from Microsoft Word (or Apple Pages) to Google Docs will feel the difference. Sure, Google Docs has all the basic features. However, it is still very far from a full-fledged desktop word processor.

You can expect this to change. The following extract taken from an article in CIO magazine, quoting Gartner analyst Neil MacDonald:

The move to server-agnostic applications is still in its infancy but will soon have a major effect on enterprise computing. The legacy applications won't go away, even if the exciting stuff is being done on Internet-based apps, they said. But it won't stay that way. Today, 70 percent to 80 percent of corporate applications require Windows to run, but the Gartner analysts expect a tipping point in 2011, when the majority of these applications will be OS-agnostic, such as Web applications.

The Eclipse IDE is just joining the crowd. We're going to see an increasingly large number of online applications replacing their desktop counterparts. IDEs that won't offer an "online option" will be falling behind.

 

The Future

As I mentioned, there are some immediate benefits from having an online IDE, especially: no installation and instant deployment. IMHO, this is just the tip of the iceberg. Here are just a few thoughts of what we might expect:

  • Online IDEs open new capabilities of sharing and collaboration. Consider doing pair-programming with your colleague, which is sitting in another continent.
  • This can be even more useful when it comes to outsourcing and your coworker is an occasional developer. For example, I need the services of an expert DBA. I can find one online in elance and work together on my project immediately.
  • On-demand services open new possibilities: instead of buying a profiler for $500, maybe I'll just pay for the time which I'm using it.
  • Mash-ups: I can use Google Page Creator to design my project's web pages and Yahoo Pipes to define a web service. All as part of the same project. Today, Eclipse is already a mash-up of OSGi services. Tomorrow, it may be a mash-up of web services or REST.
  • All the online services I mentioned in this post had to developed their own IDEs. I'm sure future vendors will be more than happy to use an existing online IDE and develop plug-ins on top of it. As the number of online services provided grow, the need becomes more imminent.

I'm just guessing here, but it does open up new directions and opportunities.

References
Published at DZone with permission of its author, Zviki Cohen. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Marcos Silva Pereira replied on Tue, 2008/04/15 - 10:20pm

There is something more about Eclipse going to online land: as you said, Eclipse is a platform and so, you will get more than an IDE. You get anything that could be created over the platform, as word processors, per instance. Imagine IBM Symphony running inside firefox.

Kind Regards 

Zviki Cohen replied on Wed, 2008/04/16 - 12:06am

That's true. I touched the IDE side in this article. I plan to focus on the platform in a future post. I agree that there's real value.

BTW, I would love to see IBM Symphony running inside my Mac first.

James Ervin replied on Wed, 2008/06/18 - 12:01pm

You know what about Eclipse as competition to Firefox?  It seems to me that the model of an OSGi container based RCP that is more easily provisioned would be a better place to focus.  I know that everything is right now all hyped on running from within a browser, but that wave will pass.  What you need is another answer to allow for easier provisioning and to leverage the computer on the client side better.  It seems that OSGi bundles that can be better provisioned is a better way to go.  It better allows for architectures that are not only client server, but indeed can blur the line between the two.

Zviki Cohen replied on Tue, 2008/06/24 - 9:02am

@James,

 Check out this post and my comment there.

 The major difference is that Firefox is consumer oriented and Eclipse is enterprise oriented, so it's not head to head competition. Nevertheless, there's a great opportunity here for Eclipse. 

James Ervin replied on Tue, 2008/06/24 - 11:04am in response to: Zviki Cohen

@Zviki

You've made my argument in far better IT-Business speak than I ever could. :)

 

alon carmel replied on Sun, 2008/11/16 - 7:54am

Hey,I really suggest you check out our company devunity.com

We got a collaborative online development platform for coders to write code together without having to stick to some special syntax. php,python,css,html,js,java all welcome!

You can create Google App Engine python application without having to download or install anything, just deploy away with a click.

Bug tracker and much more!

I encourage you to review us :) 

ivan live replied on Thu, 2009/07/30 - 1:42pm

I co-founded a new web based IDE - PHPanywhere.net

Please check it out, and let me know what you think.

Cheers

Adam Jimenez replied on Thu, 2010/08/12 - 5:20pm

I created ShiftEdit Web Based IDE

Syntax highlighting, Integrated (S)FTP, Tabs, Find/Replace, Revision history + it's free.

Ruslan Synytsky replied on Sun, 2010/12/05 - 5:43pm

Cloud Online IDE - direct development in the Hivext Cloud Platform. You can create new Java, PHP or ServerSide JavaScript application. Also, for speedy development rich internet applications Hivext has many services from out-the-box set of services, such as: file storage, authentication, registration, access control security, scripting service, data structure, etc. And exist Client Side SDK for many laguages:JavaScript, j2me, j2se, ActionScript/Flash/Flex, Qt, PHP - it's wrappers for simplifying SOA remote programming.

Vicky Mit replied on Sat, 2011/05/21 - 2:57am

Hello i'm looking to develop this kinda online IDE for my project does eclipse provide any plugin for this? plz help. I need to provide IDE for c and c++.

Shruti Ruchika replied on Wed, 2013/01/23 - 1:55am in response to: Vicky Mit

Hi Vicky,

I had a similar sort of requirement few months back. 

I think you could try hiring a professional to create you a plugin for eclipse. You could try any hiring portal like worknhire.com or odesk.com to get an individual to do this for you.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.