In this production we show you why you should care about NodeJS. We try to go beyond lofty proclamations and get into the day-to-day aspects of working with NodeJS. Topics include: data access choices, various web frameworks including Express, Tower and Geddy. Event-based programming with EventEmitters. Testing with Mocha, pubsub with Socket.io, and finally, we take a deep dive into Node's moduling system. This video is less "instructional" and more "here's what we've found out so far".
In this episode we take a quick lap around NodeJS in an effort to show you why you might care about this new framework. We discuss advantages to Node, installation, day to day testing and the very basics of what Node is all about.
Event-driven programming is at the heart of working with NodeJS, so we pushed this relatively advanced episode right to the front as EventEmitters are used all over the framework.
Working with other people's code is core to our work as developers - which is no easy chore! Node's package manager - NPM - is an elegant solution to the problems experienced in other frameworks and package management solutions. In this episode we'll show you how to work with NPM, how to create your own modules using the CommonJS API, and then how you can isolate and package your own module for reuse.
Every application needs to work with data at some level, and as you might expect: there are many choices when it comes to Node. We take a cursory look at the Big 3: Redis, MongoDB, and Postgres - showing what each of them is all about and then how you can use them with Node. We wrap up with a demonstration of why this isn't a singular choice - showing how Redis and Postgres can work together to make a very compelling user experience.
There are many ways to build apps on top of NodeJS, however many developers like to use frameworks that others have built up, following some basic patterns. In this episode we take a look at 3 of the more popular ones: ExpressJS (a Sinatra clone), Geddy (which is a tad more structured), and TowerJS - a full blown Rails clone with some extra fluff baked in.
If you've ever seen a demo of NodeJS it's likely you've seen a demo of persistent connections between the server and client using socket.io - the basic chat app or IRC clone. In this episode we take a look at how bleedingly simple it is to hook up socket.io and play around.
The code for this project is up at our Github repo