Well, it’s been quite a while since I’ve blogged about…well…anything, and I figured it’s about time I get off my lazy butt and do something with my spare time on weekends. What better option than to see what all the hype is about Node? I had to do it sooner or later.
As any newbie would do, they go to Google and type “nodejs tutorial”. The Node Beginner Book came up first, so I went with that. It was an excellent tutorial. Prior to this I also skimmed through the book JavaScript, The Good Parts, so I had a basic understanding of the language syntax.
One of the first oddities I noticed, was that NodeJS seems to have a convention of comma-first. You notice this immediately because most examples start with require(‘module’), and if they require more than one module, the second line is prefixed with a comma (as opposed to the more traditional comma at the end of the line). I apparently missed the discussion by 2 years! It was still interesting nonetheless.
As someone with a strong .NET background, I definitely experienced all the usual ‘gotchas’:
- == vs ===
- falsey values
- variable hoisting
Once you understand all of these things, Javascript isn’t so bad. Oh, and of course understanding closures will get you a long way in being effective with Javascript, because that’s what you need to use to do proper scoping. If C# didn’t have lambdas and closures it would have been a much longer journey to “get it”.
Not too longer after, I deployed my first Heroku app running on NodeJS.
Anyways, enough with the prologue…I won’t bore you with anymore beginner/tutorial stuff.
Let’s get on with what I plan on doing over a multi-part blog series. When I build something on my own time, I can’t build something just for the hell of it to learn something….that’s not enough. If I build something it has to be useful – something that I (or someone else) will find valuable.
I won’t reveal what it is yet, but it’s going to involve Node/MongoDB on the backend, with Backbone on the front-end. Should be fun :-)