Google Chromebook promises freedom from applications and local storage by using cloud computing via browser-based web applications such as Google Docs. Google Docs offers office users a cloud-based alternative to Microsoft Office for word processing, spreadsheets and presentation, and it’s getting better all the time. But if developers are expecting their users to embrace cloud computing via their products then surely they should be taking their own medicine and using cloud computing for development?
Code editors and particularly integrated development environments (IDEs) are generally seen as feature-heavy products and the download sizes of the two big hitters, Eclipse and Microsoft Visual Studio, are huge. Is it possible to replace these, either in their entirety or by emulating a core set of features and what other features can cloud computing offer?
In appearance, CodeRun borrows heavily from Microsoft Visual Studio and it’s possible to open and edit Visual Studio solutions and project files. Code can be uploaded and downloaded for offline editing and online testing. It’s possible to set breakpoints and step through hosted code as well as viewing the stack and watching objects and variable.
Having a standard development environment is a real boon: there should be no more excuses of “well it runs on my machine”.
A great promise of a cloud computing IDE is delivering remote collaborative development. Whilst pair-programming is one of the cornerstones of extreme programming, it’s difficult to do when team members are not co-located; screen-sharing via, say, Skype can be bandwidth heavy and sharing via GNU Screen restricts users to a shell-based editor with a single cursor. Cloud9 have announced its intention to support collaborative editing in its paid-for version at some point in the future.
The latency that comes with running code in the browser can be a real pain. Unit tests that should return within fractions of a second are delayed by having to go out to the web. It may be that a server-based solution comes into its own when large numbers of unit tests must be tested or when performing functional and integration testing. Theoretically, when processor-intensive tests are present then a cloud computing IDE should be able to leverage its host’s computing power. Being able to rapidly get code into and out of a cloud computing IDE environment may be one of the most important factors when deciding which to use.
Although they’re both cloud computing IDEs, Cloud9 and CodeRun feel as though they’re aiming at different developers: Cloud9 leans towards Ruby, Node.js and open source software whereas CodeRun will seem instantly familiar to users of Microsoft Visual Studio.
Whilst neither is likely to make in-roads into a co-located development shop just yet, the attraction for remote teams is strong and can only increase as new features are delivered.
Are you using either Cloud9 or CodeRun in a production environment? Or perhaps you’re using another cloud computing IDE such as Kodingen, Cloud IDE, ShiftEdit or Squad? Whichever cloud computing IDE you’re using, let us know what issues you’ve come across.