It’s been quite a while I didn’t write anything, mostly due to the fact I simply didn’t take the time to do so. I will try and get back into the habit of making this at least a weekly thing, but we’ll see if that’s realistic 🙂
For the past couple of weeks, I have been trying out Cloud9 IDE over the weekends and am really happy I did. I made the switch to a full cloud work environment about 6 months ago, but hadn’t tried actually developing that way (my current job doesn’t require me to do a lot of actual coding) so I thought it a good idea to give it a go with a small project and see how it would work.
Starter: Sign-up to new project
The initial sign-up is very smooth and quick. Not many details to fill-in and, most importantly: they do not force you to give a credit card (A REAL TRIAL! :)). You can then go on and create 1 private (as in, without anyone else being able to look at your source code) project with the free account and that is where the real fun starts.
When you create a new project, this is called a “Workspace” in Cloud9. You can choose from a variety of starter packs (that pre-configure your workspace for the types of technology you’re going to use) or simply go for something “custom”. The first interesting thing I saw whilst creating this workspace was “clone from url”. This option enabled me to specify a github url and create a workspace directly linked to it (pulling the code and letting me commit without a problem). That was a really nice surprise to start off with, as I was anxious as to how I would solve problems with getting stuff into the cloud during my development process.
The IDE looks pretty neat from the first try. Here is an example of both the first page you see (upon project creation — node.js here) and some syntax highlighting
The editor is really smooth and definitely works as nicely as any text-editor I have used natively (granted, I haven’t tried a 3000 line file yet, but still). It is very easy to create files, write code and most importantly… run it…
Running your code
It is in running, testing and debugging my code that I see the enormous benefit of using cloud9. A couple of things quickly jump to mind:
- Live-preview in the same browser tab. It simply updates as you save your files
- SauceLabs integration enables you to test in ANY browser you want – MOBILE INCLUDED. Yup, you heard that right: it takes 10 seconds to save your file and have it run on both an emulated android and an ios device…
- Live link. If the “live preview” is not good enough for you and you want to test your code outside of the cloud9IDE preview, you can simply take the link and open it up in another tab, to test it the old fashioned way.
Whilst getting to grips with Cloud9, I was trying to learn a little on html5 mobile app development at the same time, so I wanted to use phonegap and, more specifically, ionic (a framework based around phonegap for html5 mobile development). That is when the power of the terminal became really apparent. I thought I would have to go through all the trouble to get node.js installed and then make it work with phonegap, but no. Node.js was already fully running and the only command I had to put into the terminal was “npm install -g cordova ionic”. That was it… and I’m not even kidding… No errors, no hassle, everything simply installed and my whole workspace was set-up to start developing apps for mobile…
Another useful thing was that at some point I wanted a public URL for my app. As it was HTML5 I also wanted to support normal browsers so I decided to get a heroku app and push it there. Again, I thought I would have to set up the heroku toolbelt and some other things to get this working, but no… IT WAS ALREADY THERE. This meant that the whole process of pushing my code live on a new heroku app took under a minute (setting up the new heroku app INCLUDED).
After 3 days (over the space of 3 weeks) with Cloud9IDE, I am completely sold. I think it is one of the better applications I have tried out over the last years and definitely feels like a major leap forward in the development landscape in general.
I haven’t tried out very heavy set-ups yet, so I’m not saying this is for everyone and every project, but I am definitely recommending this for small to medium-scale web development and any html5 mobile development.
Hope this overview was useful, but let me know if you have any thoughts / comments!