Coding in the Cloud – Part 5

As part of a series of articles on cloud based IDEs, we are going to look at Cloud9.

Cloud9

The Cloud9 team aims to allow developers to create, run, debug and deploy applications using just a web browser.  Indeed, Cloud9’s tag line is “Your code anywhere, anytime”. The Cloud IDE is being used by over 30,000 developers, and is seen as one of the leading companies in the emerging Development as a Service (DaaS) sector.  The company has recently raised $5.5 million in venture funding, and sees itself as challenging the existing desktop providers such as Microsoft Visual Studio and the open source Eclipse IDE and its derivatives.

Cloud9 Code Editor

The application’s focus is on web development, with the core languages support being JavaScript, HTML5 and CSS.  These are the same languages that Cloud9 itself is built on.  Other languages that developers can code in are Ruby, PHP, Python, OCaml and Clojure.

To get started on Cloud9, you need to create an account.  The basic free account allows you create an unlimited number of projects, but they are all publicly viewable. In fact, when you use the free account, all projects created are open source projects, and you are expected to meet open source licensing requirements.   To create a private project, you need to upgrade to the premium account. 

Once you create your free account, you can use nearly all of the features offered by Cloud9. And there are many:

  • Node.js support, with an option to deploy to the Joyent No.de service, a hosted version of the Node.js platformCloud9-SourceControl.
  • Integration with existing GitHub and BitBucket projects.
  • Team collaboration, including:
    • Simultaneous read/write access to multiple team members on the same project.
    • Integrated chat client to communicate with other team members.
  • Cloud9 developed ACE, an open source online code editor that is supported by Mozilla and has significant community support.  The community support has lead to additional languages being supported by the editor.
  • Line error reporting – the editor will report on syntax errors as you type in the browser.
  • JavaScript refactoring and debugging tools.
  • Syntax highlighting for the languages supported.
  • An offline mode to allow you to continue making changes to your code even without an internet connection.  Any changes made are merged back to the server repository once an internet connection is re-established.

Features that are planned in the Cloud9 roadmap:

  • Database support – probably MySQL and Couch DB.
  • FTP access.
  • Additional deployment options.
  • Cloud9 is currently developing a version of the IDE for Python that will integrate with Google’s App Engine.

What is it like to use?

Cloud9’s focus is on the core web development languages of JavaScript, (standards compliant) HTML(5) and CSS.  These are the same languages that Cloud9 itself is built on.  The web editor is fast, and the line error reporting is particularly useful.  You can quickly write and deploy locally web pages.  The JavaScript debugging tools are very slick and easy to use, with breakpoints, a call stack watch and variable watches available.  There are also a number of online video tutorials to help you get started.

Support for the other dynamic web languages (PHP, Python and Ruby) isn’t quite as good, but the Cloud9 team plan on adding support for debugging soon.  The team collaboration features are particularly impressive.  Even on the basic account, you are able to pair program on the same project with other developers in separate locations.

Additionally, the offline capability of Cloud9 sets it apart from the other online IDE we have considered so far.

Cloud9-DeploymentThe major disadvantages of Cloud9 are the lack of hosted database integration and deployment options.  The FTP and integration with hosting companies other than Jolent for Node.js mean that the deployment functionality is incomplete.  Also, there is no option to download your code files, unless you are using the source code integration with BitBucket or Github.

Overall, the Cloud9 comes across as being the cloud IDE closest to being production ready.  However, it’s focus on web development means it is unlikely to get much attention in an enterprise setting, with no support for .NET or Java. 

About Andrew Parkhill

I'm a software developer with over 5 years experience, primarily working with the Microsoft .NET framework and SharePoint.
This entry was posted in Cloud Computing, Development, Trends and tagged , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>