Node is JavaScript without the browser. Since you're already familiar with JavaScript, you shouldn't think of learning Node as learning a new language. Instead, you'll be learning a new set of APIs that use JavaScript to get work done outside the browser. That means you won't have access to browser APIs, like manipulating the DOM, but you will still have events and asynchronous capabilities. Additionally, Node provides excellent utilities for working with the file system, making web requests, and processing incoming web requests.
nodeschool is an excellent free and open-source resource for learning Node. This weekend, we recommend you complete the following workshops to become familiar with Node:
- javascripting: JavaScript review (optional)
- learnyounode: Introduction to Node
- how-to-npm: Introduction to NPM
- learnyoumongo: Introduction to MongoDB
- scope-chains-closures: Scope, Chains, and Closures (optional, challenging)
- stream-adventure: Introduction to Node streams (optional, challenging)
If you're constrained for time this weekend or just want to spend it relaxing, forgo the optional exercises and focus on getting the basics down. Next weekend, plan on spending a little time with expressworks.
Take a moment to browse the nodeschool site. Make a note of any workshops you might want to take in the future. (Note: The term "workshop" is a bit confusing. "Workshops" at nodeschool are modules you install and run locally on your system. If you want to attend a nodeschool meetup, you'll want to browse "Events".)
When you're ready to begin a workshop, just install it globally with npm
and start the workshop via the command line. For example, to install learnyounode, use npm install -g learnyounode
, then begin the workshop with learnyounode
. We recommend keeping your work in a directory named after the workshop.
For extra-super-bonus points, initialize a git repository in your working folder and commit early and often. Use commit messages as your learning journal, making notes of challenges and what you learned by completing each exercise (example). Then, push the repository to GitHub so future employers can get an idea of your learning process (not to mention your tenacity!).
To install all the recommended courses:
npm install -g learnyounode how-to-npm learnyoumongo
To install the recommended and optional courses:
npm install -g learnyounode how-to-npm learnyoumongo javascripting scope-chains-closures stream-adventure