Free books online

See my book collection

Sites

Mozilla Developer Network
Shared knowledge for the Open Web
TodoMVC
Helping you select an MV* framework
Superhero.js
collection of the articles, videos and presentations about creating, testing and maintaining a large JavaScript code base
JavaScript Modules
The next version of JavaScript comes with a module system heavily inspired by Node.js modules. Here’s how it works.

ECMAScript compatibility table

Simplified JavaScript Jargon

jsPerf
jsPerf aims to provide an easy way to create and share test cases, comparing the performance of different JavaScript snippets by running benchmarks.

Blogs

②ality
Blog about JavaScript, web development and mobile computing
JavaScript, JavaScript …
by Angus Croll

Frameworks

See also a Comparison of JavaScript frameworks

Backbone
Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.

Vue

Ember

Angular 1

Angular 2
One framework. Mobile and desktop.

Knockout

React
A JavaScript library for building user interfaces
Riot
A React-like user interface micro-library
choo
🚂🚋🚋🚋 - sturdy frontend framework

Mithril

Hamlet
Simple and powerful reactive templating

Libraries

DOM manipulation

jQuery
write less, do more
cash
An absurdly small jQuery alternative for modern browsers

Functional programming

Underscore
Underscore is a JavaScript library that provides a whole mess of useful functional programming
Lo-Dash
A utility library delivering consistency, customization, performance, & extras.
Lazy.js
Lazy.js it a utility library for JavaScript, similar to Underscore and Lo-Dash but with one important difference: lazy evaluation (also known as deferred execution).
Bacon.js
A small functional reactive programming lib for JavaScript.

Testing

Gremlin.js
Monkey testing library for web apps and Node.js
QUnit
A JavaScript Unit Testing framework
Benchmark.js
A robust benchmarking library that works on nearly all JavaScript platforms, supports high-resolution timers, and returns statistically significant results.

Data visualization

D3
Data-Driven Documents
Sigma
Sigma is a JavaScript library dedicated to graph drawing.
Vis
Vis.js is a dynamic, browser based visualization library.

Misc

DropzoneJS
DropzoneJS is an open source library that provides drag’n’drop file uploads with image previews.
MIDI.js
Sequencing in Javascript.

Tools

Package managers

Bower

npm

Ender

Unheap
a tidy repository of jQuery plugins
duo
A next-generation package manager for the front-end
jspm
Frictionless browser package management

Linters

JSLint
The JavaScript Code Quality Tool. The first one, by Crockford.
ESLint
The pluggable linting utility for JavaScript and JSX
JSHint
A JavaScript Code Quality Tool
XO
JavaScript happiness style linter ❤️
StandardJS
JavaScript Standard Style. One Style to Rule Them All!
Semi-StandardJS
All the goodness of feross/standard with semicolons sprinkled on top.

Articles, tutorials and other resources

Functional programming

Don’t Be Scared Of Functional Programming

Misc

State of the Art JavaScript in 2016

JavaScript’s this
how it works, where it can trip you up. (2ality.com)
JavaScript Module Pattern: In-Depth
The module pattern is a common JavaScript coding pattern. It’s generally well understood, but there are a number of advanced uses that have not gotten a lot of attention. (adequatelygood.com)
Introduction to JavaScript Source Maps
(html5rocks.com)

List of languages that compile to JavaScript

You might not need JQuery

Learning Advanced JavaScript
(ejohn.org)

16 Online JavaScript Editors for Web Developers

JavaScript Dependency Injection

THE BIRTH & DEATH OF JAVASCRIPT

Callbacks vs Coroutines
A look at callbacks vs generators vs coroutines (medium.com)

11 Great JavaScript Interview Questions

7 Patterns to Refactor JavaScript Applications

From asm.js to WebAssembly

ECMAScript 6

ES6 features

ES6 in Depth
(ponyfoo.com)
ES6 in Depth Articles
(hacks.mozilla.org)

Overview of ECMAScript 6 features

ECMAScript 6 modules: the future is now
(2ality.com)

Get ready for ECMAScript 6

ES6 Overview in 350 Bullet Points
(ponyfoo.com) article repo.

ECMAScript 7

ES7 async functions

Object.observe

Why I’m Excited About Object.observe

Data-binding Revolutions with Object.observe()
(html5rocks.com)

Promises

Promise Anti-patterns

JavaScript Promises - A Comparison Of Libraries

JavaScript Promises
(html5rocks.com)

About semicolons

An Open Letter to JavaScript Leaders Regarding Semicolons

JavaScript Semicolon Insertion, everything you need to know