The Weekend With NodeJS
All Roads Lead to Node
You ever head to the local user group meeting or conference – or maybe just casually drop by a colleague's office – and they're discussing some new technical concept? One that you may, or may not, know much about?
This happens to me just about every day – whether on Twitter, reading a blog post, or just talking on Skype with a friend. The odd thing is that these conversations – the idle musings on the New and Shiny – always seem to fall back on The Keystone: the Shiney New Hotness that, if you don't know about it, means you're a trog.
For me, that's been NodeJS this last year and some. At conferences, or in an IRC chat – someone, somewhere would drop a reference to "Well I really like the way Node does that… " and I would find myself staring blankly off a cliff.
I always wished there was some type of "What The F*** Is NODE!!!!" reference for people that might care. If only to avoid falling off the face of a geek conversation.
Alas – nothing like that has come along. So I went ahead and made one that you could watch over the weekend easily, with a beer or a glass of wine, and go back to work on Monday feeling like you know more.
Part Reference, Part Exploration, Part Musing
This production isn't a reference and it's not anywhere near a "Mastering NodeJS" kind of deal. Node's moving much too quickly for such a thing. Instead I wanted to aim this at the curious who want to not only take part in the Arm-Wavey New Hotness conversations – but also contribute.
So, to that end I made sure to include:
- What the Hell Is Node and Why Should I Care? This is the first episode and I do your basic breakdown in a straightforward way showing you what people are talking about, why they're talking about it, and where the general excitement is coming from.
- Events, Blocking, and Buzzwords You would be surprised at the amount of misinformation out there about Node's ability to be "non-blocking" – and what that means for you as a developer.
- Data To my mind, this is vastly underserved when discussing Node. So I peeled back the lid and dove into data access with Node. I wanted to show what Redis is and does, why MongoDB is such a natural fit, and also that using a relational system with Node is rather easy.
- Sockets If you've ever seen a Node demo, you've seen a socket.io demo. This is where one browser triggers an event on the server which broadcasts a response to other browsers. It's incredibly simple and will likely short circuit your brain.
- Frameworks There is a robust, emerging dirth of app frameworks for building apps with Node. I drill into 3 of the most popular: ExpressJS, Tower, and Geddy. Each has its strengths and corresponding weaknesses.
At the end of the production you'll hopefully have a good, solid understanding of what makes Node tick, what "Evented I/O" means, and why people are very excited about what Node can do.
I do hope you enjoy it.