Another IDE for the clouds…

nvisia is an award-winning software development partner driving competitive edge for clients.

I’ve posted in the past about how I fully expect for IDEs to move from locally installed tools like Eclipse, IDEA, NetBeans, etc, to web based solutions that don’t require any installation.  

Consider some typical tasks in getting new developers and projects up and running:

  • need to order hardware upgrades if their box isn’t powerful enough
  • need to request VPN access and/or get them a laptop if there’s any need for working offsite
  • need to request the IDE and get it installed
  • have to request version control access and/or a repository
  • need to install a local database and/or request database access
  • need to configure all of the above to work together
  • need to setup a defect tracking system or request access to an existing one
  • need to setup automated build tools or add the new project to an existing tool
  • if you don’t have any “template” projects, you need to write a bunch of plumbing just to interface with all of the above (and to be able to run unit tests, to package and deploy releases, etc)
  • etc

The point is that it’s a lot of work.  And it’s true that with some best practices you can speed up the above tasks quite a bit.  But it’s still an awful lot of work.

Imagine if instead of all of the above tasks, you could just give a developer a login and password to your company’s “web IDE” and your admins could just create a project, configure the resources it needs with some web config screens, and grant access to the projects to user accounts.  And all projects would have this rich set of capabilities available to them out of the box.

The problem, of course, is that stuffing all of these capabilities into a web application is quite a bit of work.  Not to mention that until the recent surge in powerful Javascript engines in the newer browsers, they were lacking the horsepower that would be needed for such an IDE.

But things are starting to move forward on the web based IDE front.  I’ve posted in the past aboutHeroku, which is a web based IDE for Rails development.  And I’ve also mentioned some very early alpha tools like IBM’s QEDWiki, which has since been incorporated into IBM’s suite of mashup products.

And the thing that prompted this post was an entry on Ajaxian regarding a cloud based version of theWaveMaker IDE.  I hadn’t seen WaveMaker before, but in playing with it a bit, it seems similar toIsoMorphic’s SmartClient tool, except that it’s Dojo based and adds the ability to design Java server side components based on Spring and Hibernate as well.  Throw in the cloud based hosting option for the IDE (you can also install it locally), and the ability to package and deploy your apps to a cloud, and it’s a few more steps in the right direction.

Unfortunately, I didn’t see any version control, any way to write and run unit tests, and while you can connect to databases, they don’t include a default embedded database to quickly get started for prototypes (edit: it looks like you can use an embedded HSQLDB database). And while you can toggle to source mode for editing, the source editor lacks even the basic features you’d expect from a modern IDE editor.  And I’m sure trying to do real development would reveal many other shortcomings.

But the point is that we keep getting closer to the emergence of web based IDEs as viable alternatives to the heavyweight, fat, bloated desktop based environments that are the norm today.  We’re not there yet.  We probably won’t be in the next year or two.  But we probably will be sooner than we think.

And once we get there, there’s a ton of things that having this common infrastructure will enable (e.g. real time collaboration on development and a repository of services that have a chance of turning SOA into more than a buzzword).  And there are sure to be some sacrifices (e.g. folks have to learn a new IDE, probably can’t use “best of breed” tools for each part of the development process, and you would probably have to wait for IDE upgrades before you could move to newer versions of core application frameworks).

But all of that is food for another post…

Related Articles