I admit it, I'm late to the cloud party.
It was only this past week that I decided to fully embrace the cloud for all of my personal storage needs.
While I might be lagging in certain aspects of the cloud, I was quicker to adapt in other areas of the cloud. I've used GitHub and CodePlex for my open source projects and the source code for this blog is hosted in the TFS cloud. That's not really saying much and it probably leaves you wondering why I have source code in every pocket of every cloud. I know, I'm going to have to try a lot harder if I want to be labeled as something of an early adopter of anything cloud-based. So, let's talk cloud in one area that, dare I say, I intend on taking early advantage of.
Imagine what it'd be like if, as a developer, you did everything in the cloud? I'm not just talking storing your source code there. I'm suggesting that you would have your entire development environment in the cloud and your browser would be the gateway to getting things done. No longer would there be a need to install anything, you'd simply be able to develop and publish anywhere and everywhere so long as you had access to a web browser. Let that sink in for a moment.
That opportunity is already here and it's called Cloud9.
Granted, this opportunity is limited to web development, but as a mostly web developer, it's an opportunity that I plan to seize early. Or, as my wife would say, it's an opportunity that I'll probably talk really loud about. (Yes, the amount of decibels that I output increases with my level of excitement.)
Cloud9 is an IDE in the cloud and it supports web development. You can sign-up and use it for free.
But it does so much more than just that. It offers version control support, integrated application deployments to your favorite hosts (Azure, Heroku, etc.), code-completion, collaboration, command-line and a boatload of other cool features that you can read for yourself. Heck, the platform itself is even open source.
Which brings us to Node.js.
How awesome is that? Pretty awesome.
So as you might expect, when creating a project with Cloud9, Node is already there and so is the Node Package Manager. Quite literally, I can create a new project in Cloud9 and with only a few statements in the command-line, I have application using Node, Express and Jade ready to go.
npm install express express npm install
Everybody loves web sockets, so how about a dash of Socket.IO?
npm install socket.io
Nothing noteworthy in the aforementioned statements, just visually highlighting how easy all of this is done through the Cloud9 terminal seconds after a project is created. By the way, you want Git or Mercurial access via that terminal? No problem, it's there too.
So what does all of this mean?