For a while now I have had one eye on node.js, looking in the distance and oftentimes thinking hmm… it would be cool to find some time to take a look at that technology :)… but never actually doing anything at all. A couple of months ago however, and with the excuse of participating in east sweden hack, I found the perfect opportunity to start dabbling in node. (yey! ftw!)
After some experience with node, and with the fresh eyes of a newbie that hasn’t yet bumped into those painful areas that every technology has, I must say I love it. I love the vim/cli combo, the speed (or perceived speed) of development, the culture of automation and the rich library ecosystem. So much so, that I am looking forward to continue learning node and will definitely use it in my upcoming side projects.
Ok, to the meat of the blog post. Here are some of the resources I used to learn what little I know about node.js.
Real Time Web with node.js at CodeSchool provides the easiest and most straightforward way to start learning node since you don’t need to install any tooling. As usual, they provide a friction free, interactive learning experience where you just need to watch a series of videos and complete the different challenges in their web-based editors. This course is probably your best bet as a beginner in node.js.
Introduction to node.js at Pluralsight covers more or less the same content as the previous course, but with an awesome addition: all course demos are shown using the awesome Cloud 9 IDE. This means that, with this course you are going to get more of a taste of how to develop real node applications feels like, but still without actually needing to install anything on your machine.
Web Development with ExpressJS at Pluralsight provides an introduction to developing web applications with the Express.js framework using the Jade template engine, the Stylus css preprocessor and JetBrains WebStorm as IDE. Probably the most practical course of these last three.
Yeoman is not a resource per se but it is so awesome that I could not resist to add a reference to it here:
Yeoman is more than just a tool. It’s a workflow; a collection of tools and best practices working in harmony to make developing for the web even better.
Our workflow is comprised of three tools for improving your productivity and satisfaction when building a web app: yo (the scaffolding tool), grunt (the build tool) and bower (for package management).
Check this video for an illustrative introduction to how to use yeoman:
Finally, you can find a super extensive list of resources contributed by the node.js community at StackOverflow.