A curated list by Eric Elliott and friends. Suggest links in the gist comments.
Some of these links are affiliate links, meaning that if you make a purchase, I might earn a little money. This has absolutely no bearing on whether or not links make the list. None, whatsoever. However, it does allow me more resources to fight poverty with code. Every little bit counts.
Required Reading (Online resources)
- How to Fix the
classis broken. Don't use it until it's fixed.
- The Dao of Immutability The Way of the Functional Programmer
- Reactive MVC and the Virtual DOM Great read, even if you're not a React user.
- Introduction to Reactive Programming
- The General Theory of Reactivity What is all this talk about reactive? Functional? Promises? This is the beginning of a reactive programming bible.
- ES6 Generators A series of blog posts by Kyle Simpson
- ES6 Modules: The Final Syntax by @rauschma #AMDisDead
- Advanced Performance Audits with DevTools In-depth perf case studies with Paul Irish
- Classical Inheritance is Obsolete: How to Think in Prototypal OO by Eric Elliott
- Asynchronous Programming at Netflix Jafar Husain
- What is Reactive Programming? Jafar Husain explains reactive programming
- Immutability: Putting The Dream Machine To Work by David Nolen
- Delivering the Goods Paul Irish on one of the most important but overlooked topics in the development world today - page load times.
- Simplicity Matters A later version of the influential talk, "Simple Made Easy" by Rich Hickey
- You Don't Know JS by Kyle Simpson
- Understanding ECMAScript 6 by Nicholas C. Zakas
- Node.js in Action by Mike Cantelon, Marc Harter, T.J. Holowaychuk and Nathan Rajlich
- The Dream Machine: J.C.R. Licklider and the Revolution That Made Computing Personal by M. Mitchell Waldrop
- WebGL Fundamentals by Greggman - An interactive online book about graphics programming.
Dev tools & collaboration
- nvm First install this...
- Node Then install Node (with nvm). You'll need this even if you're a front-end dev.
- Sublime Text 3
- Node Inspector Debug Node code with the Chrome debug tools
- JSDoc Pair with Tern for static analysis
- Nitrous.IO (Supports live collaboration / pair programming)
- Slack Chat for teams, with GitHub and Google hangouts integration
- For hangouts, just type /hangout in any channel
- ES6 Fiddle
- Browserify Bundle modules for the browser.
- How to use NPM as a Build Tool
- pre-commit Easily configure pre-commit hooks for your package
Testing / Lint / Quality checkers
- babel-eslint Allow ES6 features to pass ESLint.
- eslint-plugin-no-class Forbid the ES6
- ESLint no-inferred-methodname A custom rule for a common problem.
- Istanbul Code coverage reporting
- tape Minimal, dead simple unit testing. (This is all you need, really!)
- faucet Prettify unit testing output (like what comes from tape).
- Supertest The best way to test HTTP endpoints.
- Babel Transpile ES6, ES7 to ES5
- ES6 tools Addy Osmani's ES6 Tools list
- es5-shim Stable, production ready.
- es6-shim Somewhat stable, but a few things I thought were solid got shifted to ES7.
- es7-shim Experimental. Use with caution.
- HTML5 Cross Browser Polyfills A fairly comprehensive list of HTML5 API polyfills.
- HTML5 Boilerplate You'll want to cherry-pick the best of this for your production apps. See Initializr.
- The Isomorphic Express Boilerplate Write apps using the same code for both the client and the server using Node, Express, and Browserify.
- rootrequire Require files relative to your project path using the normal node require().
- dotty Get deep properties using dot notation without throwing. e.g.,
- native-promise-only An ECMAScript standard promise polyfill by Kyle Simpson.
- isomorphic-fetch A WHATWG fetch. standard polyfill.
- sseasy Server Sent Events for Node (HTML5 standard push notifications).
- EventSource browser Polyfill Required client-side patching to support Server Sent Events.
- jQuery Yes, I still use jQuery and so do 61% of the top 100,000 websites - for good reason.
- Blaze DOM-diffing isomorphic reactive templates from Meteor.
- React What do Facebook, Instagram, Netflix and PayPal have in common? React.
- Lodash-FP Like Underscore, but much faster, and featuring a more expressive API.
- Page.js Tiny client-side router, inspired by Express.
- Globalize i18n / translate your app for many languages and locations (locales)
- Lusca Secure your Express application. By the Kraken team at PayPal.
- Express The most popular framework for Node.
- Stampit Create objects from reusable, composable behaviors. Prototypal inheritance with stamps.
- Credential If you write Node apps with password logins, you need Credential.
- cuid GUIDs are broken - use cuid, instead.
- velocity & Velocity Motion Designer (VMD) UI animation library.
- is-my-json-valid A fast json-schema validator.
- inquirer.js Great library for building CLI tools.
- Introducing React
- JSX Looks Like an Abomination but it's Good for You My take on JSX
- Immutable Data and React by Lee Byron
- Data Fetching for React Relay & GraphQL Described
- Introducing Relay and GraphQL
- Building the Facebook Newsfeed with Relay
- Relay FAQ
- react-engine PayPal's isomorphic React view engine for Express or Kraken
- Radium Simplify inline styles
- React Hot Loader for Webpack
- livereactload for Browserify
- HTML Imports
- Custom Elements
- Shadow DOM
- x-gif This web component wins the internet.
- Vulcanize Don't let web components slow your app down. Bundle your HTML imports.
QA / Deployment / Monitoring / CI
- PM2 Process monitoring / self repair
- New Relic Deep insights into the performance and health of your production apps
- Sauce Labs Cross platform web application testing with great collaboration and integration support
- Travis CI CI, of course
- Docker Run your CI process using the same OS configs as your production systems.
- Shippable Docker-based hosted build / CI
- HTML5 on Google+
- Node.js on Google+
- IRC #node.js irc://irc.freenode.net/node.js
- IRC #io.js irc://irc.freenode.net/io.js The Node fork
Pasting / sharing code
- FightCode game program virtual battle bots and climb the leaderboard
- Node Knockout The legendary Node competition
For kids (and people who just love to have fun)
- The Young Person's Guide to Programming in Minecraft
Twitter (alphabetical order)
- Addy Osmani App architecture expert, Chrome dev tools champion
- Axel Rauschmayer ES Next evangelist, author
- David Nolen Great functional programming content
- EchoJS News and links
- Jafar Husain Great talks on RxJS, ES next, etc...
- James Halliday aka Substack - author of
one millionNode modules you probably use.
- James Long CSP, functional programming advocate, Mozilla developer
- Jordan Harband Keeping us ahead of the JS curve
- Kyle Simpson Author, YDKJS - O'Reilly, JS Instructor, open web evangelist
- Nicholas C. Zakas Author, speaker
- Paul Irish Developer evangelist, Chrome dev tools champion
- YDKJS You Don't Know JS, O'Reilly book series by Kyle Simpson