Floating (and coding) on Cloud9

Cloud9 logoI was always a bit skeptical of the whole Cloud IDE thing, that was until recently when I gave Cloud9 a shot. I must admit, I was surprised when I read the Engineering Orientation wiki page for one of our clients, Vroom.com, as it suggested I create a Cloud9 IDE account as part of my project setup. What??

I figured I’d give it a try…

Sign up was pretty easy, although the free plan does actually ask for credit card details – I’m guessing this is a purposeful barrier to keep the load on their servers down just a little. Anyway, they promise not to charge you.
Once signed up and logged in, a simple dashboard offers the choice to create a private or public workspace. As a private workspace is more valuable, only one of these is available through the free plan.
After choosing a workspace option, one can specify a git repository to be automatically cloned into the new workspace (btw, connecting a GitHub, Bitbucket, or Google Cloud Platform account on the “Connected Services” page allows this to be done much easier). With that there is just one final step, and that is to choose the project template for your code : HTML5, Node.js, PHP, Python, Django, Ruby, C++, or WordPress – sadly no Java yet, but you can’t have it all…
Selecting the Node.js option, I was pleasantly surprised to see a rich and intuitive IDE open up before my eyes – amazingly all inside my Chrome tab.  After choosing the “Sublime” preset UI theme to save the eyes, and a couple more preference tweaks, I was good to go.
Technically after these initial steps you are ready to code from any computer or tablet (maybe even a smart phone at a very very long stretch) that has a browser and decent Internet connection – after all that’s basically the whole idea, to avoid complex development environment set up on local machines.
Overall, after spending a couple of days coding I found the Cloud9 IDE’s layout, including its project tree and editor panes, pretty much rivals that of any desktop IDE out there. Its code completion too was superb.  It’s built-in Ubuntu terminal window at the bottom also allowed me to run all my usual git commands so I could interact with the repository that it had cloned in the initial setup. 
From the terminal window I could also run my trusty npm commands like “npm test,” “npm run coverage,” and “npm start” – the last actually starting up an instance of my app inside the Cloud9 cloud.  Clicking the “Preview” button even showed my app running inside an embedded browser within the IDE layout (it can also be popped out into a separate tab).
Heck, I was even able to install and start a MongoDB server (without journaling to keep the memory usage down) all inside Cloud9 and have the running application connect to it.  MySQL, PostgreSQL, and Redis are also supported.
I can only speak from having tried Cloud9 in the context of a Node.js project, but overall I would highly recommend at least giving it a try. 
Cloud IDEs really do seem to have made leaps and bounds since I last tried them a couple of years back. The paid plans offer extra private workspaces, hot workspaces – i.e workspaces that remember running applications and open files, etc., between coding sessions and team collaboration options, – but even with the free plan its completely usable, assuming your architectural design is not too complex. The credit card signup is a bit of a pain though and some day hopefully it will offer Java support.
One Cloud IDE that does offer Java support is Codenvy, watch out for a review here soon…