Tutorials
- NodeSchool.io interactive lessons
- Hello World
- Hello World Web Server
- Node.js guide
- Build a blog with Node.js, express and mongodb
- Node.Js Tutorials At Project 70
- Node.js for Beginners
- Learn Node.js Completely and with Confidence
Videos
- Node tuts
- Introduction to Node.js with Ryan Dahl
- Node.js: Asynchronous Purity Leads to Faster Development
- Parallel Programming with Node.js
- Server-side JavaScript with Node, Connect & Express
- Node.js First Look
- Node.js with MongoDB
- Ryan Dahl‘s Google Tech Talk
Screencasts
Books
- The Node Beginner Book
- Mastering Node.js
- Up and Running with Node.js
- Node.js in Action
- Smashing Node.js: JavaScript Everywhere
- Node.js & Co. (in German)
- Sam‘s Teach Yourself Node.js in 24 Hours
- Most detailed list of free JavaScript Books
- Mixu‘s Node Book
- Node.js the Right Way: Practical, Server-Side JavaScript That Scale
- Beginning Web Development with Node.js
Courses
Blogs
Podcasts
JavaScript resources
- Crockford‘s videos (must see!)
- Essential JavaScript Design Patterns For Beginners
- JavaScript garden
- JavaScript Patterns book
- JavaScript: The Good Parts book
Node Modules
- Search for registered node.js modules
- Wiki List on Github/Joyent/Node (start here last!)
- A completely biased and incomplete selection of useful Node modules
Other
- JSApp.US - like jsfiddle, but for node.js
- Node with VJET JS (for Eclipse IDE)
- Production sites with published source:
- Useful Node.js Tools, Tutorials and Resources
- Runnable.com - like jsfiddle, but for server side as well
==================================================================================
First, learn the core concepts of Node.js:
Then, you‘re going to want to see what the community has to offer:
The gold standard for Node package management is NPM.
-
It is a command line tool for managing your project‘s dependencies.
-
NPM is also a registry of pretty much every Node package out there
Finally, you‘re going to want to know what some of the more popular packages are for various tasks:
Useful Tools for Every Project:
- Underscore contains just about every core utility method you want.
-
CoffeeScript makes JavaScript considerably more bearable,
while also keeping you out of trouble!
- Caveat: A large portion of the community frowns upon it. If you are writing a library, you should consider regular JavaScript, to benefit from wider collaboration.
Unit Testing:
- Mocha is a popular test framework.
- Vows is a fantastic take on asynchronous testing, albeit somewhat stale.
- Expresso is a more traditional unit testing framework.
- node-unit is another relatively traditional unit testing framework.
Web Frameworks:
- Express is by far the most popular framework.
- Meteor bundles together jQuery, Handlebars, Node.js, websockets, mongoDB, and DDP and promotes convention over configuration without being a Rails clone.
- Tower is an abstraction of top of Express that aims to be a Rails clone.
- Geddy is another take on web frameworks.
- RailwayJS is a Ruby-on-Rails inspired MVC web framework.
- SailsJS is a realtime MVC web framework.
- Sleek.js is a simple web framework, bulit upon express.js.
Web Framework Tools:
- Jade is the HAML/Slim of the Node world
- EJS is a more traditional templating language.
- Don‘t forget about Underscore‘s template method!
Networking:
- Connect is the Rack or WSGI of the Node world.
- Request is a very popular HTTP request library.
- socket.io is handy for building WebSocket servers.
Command Line Interaction:
- Optimist makes argument parsing a joy.
- Commander is another popular argument parser.
- Colors makes your CLI output pretty.