Cloud Zone is brought to you in partnership with:

Den is a DZone Zone Leader and has posted 460 posts at DZone. You can read more from them at their website. View Full User Profile

Online IDEs – perspectives?

  • submit to reddit

The software development domain constantly introduces area-specific innovations, one of them being the creation of online IDEs - development environments that can be accessed from the web browser, without the need to install specific client software. At this time those few that are present on the arena have very limited functionality, although even at this time offer great opportunities for aspiring and professional developers.

So, why do I think that there is a niche for online IDEs and those will find their users?

1. Platform-independent
Online run just as a regular web page – from a web browser. The most we could probably expect is the need to install a third-party plug-in for the web browser (like ActiveX or Silverlight) to display the contents. And that’s it. All the code compilation, linking and debugging can be made in the cloud (on a remote machine). This means, that the platform-dependent layer is slowly becoming transparent, allowing developers to create their software on a platform, where initially the language is not supported. Another example would be that the client machine is a bit “slow” to allow the developer to work with a regular IDE, and here is where its online analog takes a strong position, making the development possible at different levels. The developer won’t have to worry about hardware anymore.

2. Accessibility

The online IDE can be accessed from any place in the world, just a few clicks away. So, you won’t have to carry that 12-project solution with you to every single trip to a different town, city or country. This also means that you don’t have to worry about storage.

3. Easier collaboration
Major projects are made in teams, and usually there is additional software needed to setup a team development environment. When all the code is stored on a remote server and the development environment is accessible to everyone, it is very easy to collaborate in the framework of a specific project. All you will ever have to worry about is the server configuration for teamwork.

4. Upgradeability
This mostly refers to the developers of online IDEs, but I also decided including it here. It is much easier to upgrade/patch a product on a single machine rather than distributing a service pack to thousands of clients. People want to work with stable, bug-free software on any level, and a single upgrade in a single location could be the first step. Also, whenever a new SDK or framework appears, the developers most likely start working on upgrading their machines, sometimes more painful because of compatibility issues, sometimes this is a less-painful process. However, with a single instance of the development platform running remotely it will be much easier to add the needed features without the fear of messing up the whole development environment.

Although online IDEs have several benefits, there are also drawbacks. One of them being the code security. Not many developers are willing to let their code “live” on a remote machine that is not controlled by them. Mainly because of the possibility of data loss - this already happened before in several cloud services. And in most cases the vendor of the service takes no liability of the consequences.

But there is one more thing – any piece of code that is created in the online environment becomes visible to the developer of the IDE and the team managing the cloud itself. And generally, no privacy policy is going to protect you from that. Therefore, working with private code or code that is not intended to be used in public/commercial applications is unsecure.

At this time online IDEs run only in several places, however, I would expect that soon there will appear commercial and free distributions for corporate and third-party use. No matter how this turns out, it is definitely interesting to watch this field develop and grow.


Adam Denheen replied on Fri, 2011/01/21 - 5:31am

Hi Den, some good insight here. We're working on a cloud ide for Groovy called Xappworks which differs from your first point in that the compilation and execution is done on the client itself. It's primarily aimed at writing desktop style software through Swing and whatever other java libraries the developer of an application cares to use. I think the major benefits to cloud ides really are in your points about collaboration and accessibility; there really is a certain level of convenience in being able to just visit a url and be off writing code.

Jakob Jenkov replied on Fri, 2011/01/21 - 2:05pm

It makes sense with online IDE's, as well as with a lot of other applications.


Imagine shipping a complete development server, with IDE, version control, build server, bug tracker etc... Who will be first to do so? :-)

Sadsds Dsadsadsa replied on Sun, 2011/01/23 - 3:38pm

another possiblity with in-the-cloud-ides - companies can keep tabs on employees.

 Is so and so really working right now at home? Or is he on his xbox?

Comment viewing options

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