235 Free Javascript Ebooks, Tools and Resources
For those want to learn to program, one of the biggest advantages of JavaScript is that it is all free. You don’t need to pay for anything to get started. It is used across the web development stack, both front end and backend. Google develops and usually open sources it’s own JavaScript tools. The most obvious example is AngularJS. Angular is used most prominently in Google’s DoubleClick advertising platform, but it’s also one of the most popular front end frameworks available.
This is a collection of must-have JavaScript resources. It covers free ebooks, online tutorials and references, videos, free newsletters and various other free tools as well as source codes. Suitable for those who are just starting out or seasoned experts who just want to explore further. We’ve also included some Twitter accounts of JS authors and developers, so you may want to check or follow them.
Free Ebooks
- Speaking JavaScript
by Dr. Axel Rauschmayer: An in-depth guide for JavaScript programmer. - Human JavaScript
by @HenrikJoreteg. This book will help you build native HTML5 apps. - Eloquent JavaScript
by Marijn Haverbeke. This is a book about JavaScript, programming, and the wonders of the digital. - You Don’t Know JS
by Kyle Simpson. This is a series of books diving deep into the core mechanisms of the JavaScript language. - Understanding ECMAScript 6
by Nicholas C. Zakas
Required Reading
- Advanced Performance Audits with DevTools
In-depth perf case studies with Paul Irish. - Chrome DevTools: State Of The Union 2015
Walks through the latest updates on your favourite debugging companion; exploring new features like paint profiling, animation inspection and updates to the JavaScript editing workflow with V8. - Computer Science in JavaScript
by Nicholas C. Zakas - dexteryy/spellbook-of-modern-webdev
A Big Picture, Thesaurus, and Taxonomy of Modern JavaScript Web Development - ES6 Generators
A series of blog posts by Kyle Simpson. - Facebook just taught us all how to build websites
- Function as Child Components
- Introduction to Reactive Programming
- JavaScript Application Architecture on the Road to 2015
Addy Osmani - JavaScript for impatient programmers (ES2021 edition)
by Dr. Axel Rauschmayer - JavaScript Objects
An excellent explanation of inheritance in JavaScript by Kyle Simpson. - JavaScript Scene
Learn JavaScript Essentials (for all skill levels) by Eric Elliott, author of Programming JavaScript Applications. - JavaScript Training Sucks
99 out of 100 JS developers lack the skills they need to fill hundreds of thousands of jobs. We can change that. - JavaScript-Garden
JavaScript Garden is a growing collection of documentation about the most quirky parts of the JavaScript programming language. - javascript-sdk-design
A guide for people building JavaScript client SDKs. - Learn JavaScript Essentials (for all skill levels)
One clear path to JavaScript mastery - Making NetFlix.com Faster
Performance isn’t an option if you’re aiming for an amazing user experience. A compelling post on how Netflix improved on how fast Netflix.com renders by @kristoferbaxter. - miguelmota/javascript-idiosyncrasies
A bunch of Javascript idiosyncrasies, kinda. - MindBEMding – getting your head ’round BEM syntax
BEM – meaning block, element, modifier – is a front-end naming methodology thought up by the guys at Yandex. It is a smart way of naming your CSS classes to give them more transparency and meaning to other developers. They are far more strict and informative, which makes the BEM naming convention ideal for teams of developers on larger projects that might last a while. - Mixins Are Dead. Long Live Composition
- Modularity
A pragmatic take on the tiny modules vs batteries included approach - Reactive MVC and the Virtual DOM
Great read, even if you’re not a React user. - Smart and Dumb Components
- Taming the Asynchronous Beast with CSP in JavaScript
by James Long - The Dao of Immutability
The Way of the Functional Programmer - The General Theory of Reactivity
What is all this talk about reactive? Functional? Promises? This is the beginning of a reactive programming bible. - The Tech Behind the New Twitter.com
The Twitter.com redesign on 2010, publicly switched to client-side templating, turning the server into something more like a simple API - The Two Pillars of JavaScript Part 1: Prototypal OO
- The Two Pillars of JavaScript Part 2: Functional Programming
- Typed JavaScript
Excellent post about the state of typed JavaScript by Axel Rauschmayer - Typed JavaScript
Excellent post about the state of typed JavaScript by Axel Rauschmayer - wearehive/project-guidelines
A set of best practices for JavaScript projects - Why Functional Programming Matters
by John Hughes, 1984.
Required Viewing
- Asynchronous Programming at Netflix by Jafar Husain
- Classical Inheritance is Obsolete: How to Think in Prototypal OO by Eric Elliott
- Composition Over Inheritance by Mattias Petter Johansson
- David Nolen: Immutability: Putting The Dream Machine To Work by David Nolen
- Delivering the Goods by Paul Irish on one of the most important but overlooked topics in the development world today – page load times.
- Everything You Never Wanted to Know About JavaScript Numbers by Bartek Szopka
- Immutability: Putting The Dream Machine To Work by David Nolen
- Introduction to React by Jordan Walke
- JavaScript API Design Principles by Ariya Hidayat
- Making WebGL Dance by Steven Wittens
- Simplicity Matters by Rich Hickey
- Slay’n the Waste Monster by Colt McAnlis
- Supercharging Page Load by Jake Archibald
- The Essence of FRP by Conal Elliott
- The Pixel Factory by Steven Wittens
Dailies and Weeklies
- A Drip of JavaScript
One quick JavaScript tip, delivered to your inbox every other week. - CSS Weekly
A weekly e-mail roundup of css articles, tutorials, experiments and tools curated by Zoran Jambor. - Data Science Weekly Newsletter
A free weekly newsletter featuring curated news, articles and jobs related to Data Science. - DB Weekly
A weekly round-up of database technology news and articles covering new developments, SQL, NoSQL, document databases, graph databases, and more. - DevOps newsletter
The weeks best DevOps articles delivered every Sunday to thousands of great people. - DevOps Weekly newsletter
A weekly slice of devops news brought to you by Gareth Rushgrove. - Docker Weekly newsletter
Get the latest and greatest Docker content delivered to your inbox monthly. - EchoJS
Echo JS is a community-driven news site entirely focused on JavaScript development, HTML5, and front-end news. - Ember Weekly
The latest Ember.js news, tips & code delivered directly to your inbox. - ES.next News
ES.next News: 5 ECMAScript.next links every week, in your inbox. - Founder Weekly
A free weekly newsletter for entrepreneurs featuring best curated content, must read articles. - Fresh Brewed Frontend
A weekly reading digest for frontend developers. One email. Handpicked articles. Every Tuesday. - Go Newsletter
A weekly newsletter about the Go programming language. - HTML5 Game Development Newsletter
Weekly newsletter about HTML5 Game Development. - HTML5 Weekly
A once–weekly HTML5 and Web Platform technology roundup. - JavaScript Jabber
JavaScript Jabber is a challenge to become a top JavaScript developer. Each week our expert panel and our guests discuss the things that JavaScript developers need to know to stay current and level up. - JavaScript Weekly
A free, once–weekly e-mail round-up of JavaScript news and articles. - Mobile Web Weekly
A weekly round-up of the releases, articles, and links that affect Web developers working on the mobile-facing Web. - Node Weekly
A free, once–weekly e-mail round-up of Node.js news and articles. - NoSQL Weekly
A free weekly newsletter featuring curated news, articles, new releases, jobs etc related to NoSQL. - Offline First Reader
We live in a disconnected & battery powered world, but our technology and best practices are a leftover from the always connected & steadily powered past. - Postgres Weekly
A free, once–weekly e-mail round-up of PostgreSQL news and articles - Python Weekly
A free weekly newsletter featuring curated news, articles, new releases, jobs etc related to Python. - Responsive Design Weekly
A free, once–weekly round-up of responsive design articles, tools, tips, tutorials and inspirational links. - Ruby Weekly
A free, once–weekly e-mail round-up of Ruby news and articles. - Servers for hackers newsletter
Teaching the server tech you need for development and production. Eliminating the frustration of server configuration. - Web Design Weekly
A once a week email with no spam, no rambling. Just pure awesome links to the best news and articles to hit the interweb during the week. - Web Development Reading List
A handcrafted, carefully selected list of web development related resources. Published usually every week. - Web Operations Weekly
A weekly newsletter on Web operations, infrastructure, performance, and tooling, from the browser down to the metal. - Web Tools Weekly
Tools for web developers – once–weekly e-mail.
Other Related Posts
- 64 Free Javascript Ebooks and Tutorials – 2020
64 Javascript ebooks, online documents, guides and tutorials for your reference or learning needs. The skill level of each sources vary from low to high, so feel free to pick whichever that fits your requirements. - 19 Free Javascript Ebooks & Resources – 2016
19 free Javascript ebooks & resources, majority of them are freely available as online reading only. - 22 Free Go Programming Ebooks – 2021
22 Free Go Programming Ebooks for programmers of all levels, from starter to advanced books. - Other Javascript / Programming Posts
Spec
- ECMAScript 2016 Language Specificiation
It contains the content of the most recent yearly snapshot plus any finished proposals (those that have reached Stage 4 in the proposal process and thus are implemented in several implementations and will be in the next practical revision) since that snapshot was taken. - ES5 Spec
An annotated, hyperlinked version of the ES5 spec. - ES6 Spec
ECMAScript® 2015 Language Specification. - ES2016 (ES7) Spec
This Ecma Standard defines the ECMAScript 2016 Language. It is the seventh edition of the ECMAScript Language Specification.
Conf
- JSConf
Conferences for the JavaScript community. - Fluent Conf
The O’Reilly Fluent Conference was first launched in 2012 as a new event for developers working with JavaScript, HTML5, and other web technologies. Fluent covers the full scope of the Web Platform and its associated technologies, including WebGL, CSS3, mobile APIs, Node.js, AngularJS, ECMAScript 6, and more. - Forward JS
Web technology summit.
Building
- Webpack
Bundle modules for the browser. - Husky
Git hooks made easy. - pre-commit
Easily configure pre-commit hooks for your package. - Browserify
Bundle modules for the browser. - jspm.io
Frictionless browser package management.
Testing / Lint / Quality checkers
- ESLint
The pluggable linting utility for JavaScript and JSX. - ESLint no-inferred-methodname
A custom rule for a common problem. - Istanbul
Code coverage reporting. - nyc
A code coverage tool built on istanbul that works for applications that spawn subprocesses. - tape
Dead simple unit testing. - tap-browser-color
Prettify tap output in the browser. Works well with Tape. - faucet
Prettify tap output in the console. Plays well with Tape. - Supertest
The best way to test HTTP endpoints.
Transpilers
- Babel
Transpile ES2015 (ES6), ES7 to ES5, JSX to React. - TypeScript
TypeScript’s structural types are worth a look. - CoffeeScript
CoffeeScript is a little language that compiles into JavaScript. Underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way. - Emscripten
Frequently used to compile C/C++ to JavaScript. - Traceur
Traceur is a JavaScript.next-to-JavaScript-of-today compiler that allows you to use features from the future today. Traceur supports ES6 as well as some experimental ES.next features. - ES6 tools
Addy Osmani’s ES6 Tools list. - You Might Not Need TypeScript
TypeScript has gained a lot of popularity since the Angular 2 project decided to adopt it and write all their documentation examples in TypeScript, but is it really worth the investment?
Libraries
- stats.js.org
JavaScript repos ranked by popularity. - Express
The most popular framework for Node. - Lodash
Like Underscore, but much faster, and featuring a more expressive API. - cuid
GUIDs are broken – use cuid, instead. - React
What do Facebook, Instagram, Netflix and PayPal have in common? React. - RxJS
Reactive extensions for JavaScript. - Moment
A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates. - UpUp
Make sure your site works even when your user is offline. - The Universal React Boilerplate
Write apps using the same code for both the client and the server using Node, Express, and Browserify. - NodeGoat
Identify security vulnerabilities in your Node apps. - lightning.js
Async fetch load 3rd party JS & expose a promise API. - Deep Freeze
Deep freeze objects. - jQuery
Most popular JS lib by a landslide. - Ramda
Like Lodash and Underscore, but with all functions automatically curried, and parameters arranged so that the data to be operated on is supplied last. - express-request-language
Best implementation I’ve seen for Accept-Language negatiation in Express. - accept-language
If you don’t use express, accept-language is the low-level lib that powers express-request-language for language matching & fallback. - Globalize
i18n / translate your app for many languages and locations (locales). - dotenv
Easily manage environment variables. - Leaflet
Interactive map UIs made easy. - Lusca
Secure your Express application. By the Kraken team at PayPal. - Stampit
Create objects from reusable, composable behaviors. Prototypal inheritance with stamps. - Countly
Open source mobile & web analytics and marketing platform. - node-jsonwebtoken
Easy JSON Web Token auth. - velocity
Velocity Motion Designer (VMD) UI animation library. - is-my-json-valid
A fast json-schema validator. - is-express-schema-valid
is-my-json-valid as Express middleware for req.body, req.query and req.params. - inquirer.js
Great library for building CLI tools. - rimraf
Util for nodejs. Great for npm scripts. - cross-env
Use environment variables with npm scripts cross-platform. - es5-shim
Stable, production ready. - es6-shim
Somewhat stable, but a few things I thought were solid got shifted to ES7. - es7-shim
Experimantal. Use with caution. - native-promise-only
An ECMAScript standard promise polyfill by Kyle Simpson. - isomorphic-fetch
A WHATWG fetch standard polyfill. - RxJS
Reactive extensions for JavaScript. https://medium.com/javascript-scene/the-two-pillars-of-javascript-pt-2-functional-programming-a63aa53a41a4 - Moment
A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates. - Globalize
i18n / translate your app for many languages and locations (locales). - Stampit
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. - json-schema
Great for model validations.
React
- Introducing React
Tom Occhino and Jordan Walke spoke about React.js at Facebook Seattle. - React blog
Official React blog - JSX Looks Like an Abomination but it’s Good for You
Take on JSX. - React Pure Component Starter
Learn React pure components. - Baby’s First Reaction
Build your first working React component. - Immutable Data and React
by Lee Byron. - eslint-plugin-react
React specific linting rules for ESLint. - Redux
Predictable state container (store) for JavaScript apps. - Redux Devtools
DevTools for Redux with hot reloading, timetravel debugging, and customizable UI. - redux-saga
A synchronous-style side-effect library for Redux. - MobX
Simple, scalable state management with TFRP. - react-native
React for mobile devices. - Elemental-UI
Modular UI component library for React. - velocity-react
The excellent Velocity UI animation library for React. - react-canvas
React for canvas. - react-three
Three.js rendering for React. - react.rocks
Pinterest-style directory of online demos with available code. - TodoMVC in React
- JSX Specification
JSX is an XML-like syntax extension to ECMAScript without any defined semantics. It’s NOT intended to be implemented by engines or browsers.
Web Components
GraphQL
- GraphQL at Facebook
- Getting started with GraphQL and Node.js
- GraphQL Specification
- GraphQL Reference Implementation
- graphql-server
A GraphQL server implementation with Mongo / Mongoose.
Progressive Web Apps (PWAs)
- Native Apps are Doomed
Intro to PWAs. - Why Native Apps Really Are Doomed
Why we need PWAs – packed with stats you need to know if you’re building an app.
QA / Deployment / Monitoring / CI
- PM2
Process monitoring / self repair. - Pingdom
Response monitoring and alert management (because incidents happen). - 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. - CircleCI
Continuous Integration and Delivery. - Codeship
Continuous Delivery with Codeship: Fast, secure and fully customizable. - Docker
Run your CI process using the same OS configs as your production systems. - Shippable
Docker-based hosted build / CI. - Tensō
A thin API facade in Node. - Kong
API/microservice extension and management layer, centralize auth, cache, logging, rate limiting, etc… plugins in Lua).
Community
- ES Discuss
The mailing list where all the ECMAScript standard discussion action is.
Pasting / Sharing Code
- Codepen
CodePen is a social development environment for front-end designers and developers. - RequireBin
RequireBIN is a community of tech-savvy professionals focused on improving web development and tech accessibility. - JSBin
Embed editable code snippets. - jsFiddle
Your humble code playground. - Plunker
Plunker is the best tool to prototype, experiment, share and debug your ideas on the web platform. - RegExr
Learn, build, & test Regular Expressions.
Contests
- DemoJS
The JavaScript demoscene party. - JS1k
JavaScript demos in 1k of memory. - JS13k Games
JavaScript games in 13k of memory. - Node Knockout
The legendary Node competition.
Hackable Hardware
For Kids
- Screeps
A strategy game you control by writing JavaScript. - CodingGame
Programming puzzle games. - LearnToMod
Mod Minecraft with JavaScript. - The Young Person’s Guide to Programming in Minecraft
Minecraft is an open-ended 3D game where you can build and craft anything you like. Minecraft can be extended and enhanced using ‘Mods’ (short for ‘modifications’) – additional bits of code that are added to the Game. ScriptCraft is one such Mod – it lets you program in Javacript right within the game, making it possible to build using simple javascript statements. It can also extend the game in other interesting ways – add new Items, change the game behaviour and create mini-games. - CodeCombat
RPG adventure controlled by JavaScript.
- Addy Osmani
App architecture expert, Chrome dev tools champion. - Angus Croll
Author, “If Hemingway Wrote JavaScript”. - Axel Rauschmayer
ES Next evangelist, author. - Brendan Eich
Created JavaScript. - David Nolen
Great functional programming content. - David Herman
Author, “Effective JavaScript”. - EchoJS
News and links. - Eric Elliott
That’s me. O’Reilly author. JavaScript architect. JS Instructor. - Jafar Husain
Great talks on RxJS, ES next, etc… - James Halliday
aka Substack – author of one million Node modules you probably use. - James Long
CSP, functional programming advocate, Mozilla developer. - JavaScript Cheerleader
Mover & shaker, JavaScript evangelist, documentary film maker. - JavaScript Daily
News and links. - Jordan Harband
Keeping us ahead of the JS curve. - Marijn Haverbeke
Author, “Eloquent JavaScript”. - Nicholas C. Zakas
Author, speaker. - Nick Morgan
Author, “JavaScript for Kids”. - Paul Irish
Developer evangelist, Chrome dev tools champion. - Reginald Braithwaite
Author, “JavaScript Allongé”, speaker, GitHub. - YDKJS
You Don’t Know JS, O’Reilly book series by Kyle Simpson.