Skip to content

Reading and Resources

Amir Djavaherian edited this page Feb 3, 2017 · 1 revision

Reading and Resources (Online resources) essential-javascript-links

Required Viewing

Exercises

Spec

  • ES5 Spec An annotated, hyperlinked version of the ES5 spec
  • ES6 Spec ECMAScript® 2015 Language Specification

Books

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.
  • npm Install lots of other things with npm. The package manager for JavaScript. Comes with Node.
  • Atom Nice, hackable editor by GitHub.
  • Node Inspector Debug Node code with the Chrome debug tools --save-live-edit true
  • TraceGL Powerful runtime analysis of live JavaScript code
  • Tern Static analysis in JavaScript
  • JSDoc Pair with Tern for static analysis
  • Slate Generate beautiful API docs for your apps
  • Slack Chat for teams, with GitHub and Google hangouts integration
  • Gitter Like Slack, but better for OSS projects and free chat.
  • Airety Better developer interviews via pair programming.
  • PrettyDiff
  • Babel Repl The Babel REPL with compiled output
  • ESNextBin A babel powered ES6+ browser bin with npm package support.
  • Nitrous.IO Online IDE in the cloud with collaboration & Docker containers
  • Koding Online cloud development platform with video & audio collaboration

Building

Testing / Lint / Quality checkers

Transpilers

  • Babel Transpile ES2015 (ES6), ES7 to ES5, JSX to React.
  • TypeScript TypeScript's structural types are worth a look, but I don't use it.
  • Emscripten Frequently used for C/C++ JavaScript ports.
  • ES6 tools Addy Osmani's ES6 Tools list.

JavaScript environments

  • Node.js Server side JavaScript and more

Libraries

  • stats.js.org JavaScript repos ranked by popularity. #code
  • es5-shim Stable, production ready. #code
  • es6-shim Somewhat stable, but a few things I thought were solid got shifted to ES7. #code
  • es7-shim Experimental. Use with caution. #code
  • HTML5 Cross Browser Polyfills A fairly comprehensive list of HTML5 API polyfills. #code
  • Deep Freeze Deep freeze objects. #code
  • HTML5 Boilerplate You'll want to cherry-pick the best of this for your production apps. See Initializr #code
  • UpUp Make sure your site works even when your user is offline. #code
  • cf-package A Cloverfield scaffold that generates new modules (npm packages) complete with npm scripts and useful boilerplate. #code
  • The Universal React Boilerplate Write apps using the same code for both the client and the server using Node, Express, and Browserify. #code
  • NodeGoat Identify security vulnerabilities in your Node apps. #code
  • lightning.js Async fetch load 3rd party JS & expose a promise API. #code
  • native-promise-only An ECMAScript standard promise polyfill by Kyle Simpson. #code
  • isomorphic-fetch A WHATWG fetch. standard polyfill. #code
  • sseasy Server Sent Events for Node (HTML5 standard push notifications). #code
  • EventSource browser Polyfill Required client-side patching to support Server Sent Events. #code
  • TodoMVC A showcase implementing many MV* libraries/frameworks using a standardized demo app (for easy comparisons). #code
  • jQuery Most popular JS lib by a landslide. #code
  • React What do Facebook, Instagram, Netflix and PayPal have in common? React. #code
  • Cycle.js Like React, but more functional & reactive #code
  • Lodash Like Underscore, but much faster, and featuring a more expressive API. Check out the Ramda-style fp versions you can import from lodash/fp #code
  • 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. #code
  • RxJS Reactive extensions for JavaScript. What's reactive? #code
  • Page.js Tiny client-side router, inspired by Express. #code
  • Moment A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates. #code
  • express-request-language Best implementation I've seen for Accept-Language negatiation in Express. #code
  • accept-language If you don't use express, accept-language is the low-level lib that powers express-request-language for language matching & fallback. #code
  • Globalize i18n / translate your app for many languages and locations (locales). #code
  • dotenv Easily manage environment variables #code
  • Leaflet Interactive map UIs made easy. #code
  • Lusca Secure your Express application. By the Kraken team at PayPal.
  • Express The most popular framework for Node. #code
  • Stampit Create objects from reusable, composable behaviors. Prototypal inheritance with stamps. #code
  • Credential If you write Node apps with password logins, you need Credential. #code
  • Countly Open source mobile & web analytics and marketing platform. #code
  • node-jsonwebtoken Easy JSON Web Token auth. #code
  • cuid GUIDs are broken - use cuid, instead. #code
  • velocity & Velocity Motion Designer (VMD) UI animation library. #code
  • is-my-json-valid A fast json-schema validator. #code
  • is-express-schema-valid is-my-json-valid as Express middleware for req.body req.query and req.params. #code
  • inquirer.js Great library for building CLI tools. #code
  • rimraf rm -rf util for nodejs. Great for npm scripts. #code
  • Wemo.io Open Source VR Tools #code
  • IoT.js An Internet of Things JavaScript platform.

React

Relay & GraphQL

Web Components

Benchmarking

  • JSlitmus - JSLitmus is a lightweight tool for creating ad-hoc JavaScript benchmark tests.
  • Matcha - Matcha allow you to design experiments that will measure the performance of your code. It is recommended that each bench focus on a specific point of impact in your application.
  • Timing.js - Timing.js is a small set of helpers for working with the Navigation Timing API to identify where your application is spending its time. Useful as a standalone script, DevTools Snippet or bookmarklet.
  • Stats.js - This class provides a simple info box that will help you monitor your code performance.

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
  • 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
  • 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

News

Pasting / sharing code

Contests

Hackable Hardware

Hosting

For kids (and adults who just love to have fun)

Twitter (alphabetical order)