forked from rsperberg/essential-javascript-links
-
Notifications
You must be signed in to change notification settings - Fork 3
Reading and Resources
Amir Djavaherian edited this page Feb 3, 2017
·
1 revision
Reading and Resources (Online resources) essential-javascript-links
- Learn to Code: 13 Tips That Could Save You Years of Effort #article
- Learn JavaScript Essentials (for all skill levels) One clear path to JavaScript mastery #article
- The Two Pillars of JavaScript Part 1: Prototypal OO #article
- The Two Pillars of JavaScript Part 2: Functional Programming #article
- JavaScript Objects An excellent explanation of inheritance in JavaScript by Kyle Simpson #article
- How to Use ES6 for Universal JavaScript Apps A Babel config walkthrough #article
- Unapply attack Make your JS apps more secure by freezing builtins. #article
- JavaScript Application Architecture on the Road to 2015 Addy Osmani #article
- Modularity A pragmatic take on the tiny modules vs batteries included approach
- Computer Science in JavaScript by Nicholas C. Zakas #article
- The Dao of Immutability The Way of the Functional Programmer #article
- Reactive MVC and the Virtual DOM Great read, even if you're not a React user. #article
- Introduction to Reactive Programming #article
- The General Theory of Reactivity What is all this talk about reactive? Functional? Promises? This is the beginning of a reactive programming bible. #article
- Why Functional Programming Matters by John Hughes, 1984 #paper #pdf
- ES6 Generators A series of blog posts by Kyle Simpson #article
- Typed JavaScript Excellent post about the state of typed JavaScript by Axel Rauschmayer #article
- ES6 Modules: The Final Syntax by @rauschma #article
- javascript-sdk-design A guide for people building JavaScript client SDKs #article
- Advanced Performance Audits with DevTools In-depth perf case studies with Paul Irish #article
- Classical Inheritance is Obsolete: How to Think in Prototypal OO by Eric Elliott #talk
- Composition Over Inheritance by Mattias Petter Johansson #video
- Everything You Never Wanted to Know About JavaScript Numbers by Bartek Szopka #talk
- Asynchronous Programming at Netflix Jafar Husain #talk
- What is Reactive Programming? Jafar Husain explains reactive programming #talk
- Introduction to React by Jordan Walke #talk
- Introduction to Reactive Programming by André Staltz #video #course
- Immutability: Putting The Dream Machine To Work by David Nolen #talk
- The Essence of FRP by Conal Elliott #talk
- JavaScript API Design Principles by Ariya Hidayat #talk
- Delivering the Goods Paul Irish on one of the most important but overlooked topics in the development world today - page load times. #talk
- Supercharging Page Load by Jake Archibald #video
- Slay'n the Waste Monster by Colt McAnlis #talk
- Simplicity Matters A later version of the influential talk, "Simple Made Easy" by Rich Hickey #talk
- Making WebGL Dance by Steven Wittens #talk
- The Pixel Factory by Steven Wittens #talk
- Getting Started with Redux by Dan Abramov. Describes a functional approach to application state that all developers should be aware of. #course #video
- Cycle.js Fundamentals by André Staltz. #course #video
- FreeCodeCamp Learn to build apps & work on not-for-profit projects. #exercises
- LearnRx #exercises
- Javascripting Learn JavaScript by adventuring around in the terminal #exercises
- Functional Javascript A functional javascript workshop #exercises
- BrowserifyAdventure Learn browserify with this educational adventure #exercises
- Count Up to Version 6 of JavaScript! An intro to some ES6 features via a set of self-guided workshops #exercises
- ESNext Generation Interactive Workshop Learn ES6's Iterators & Generators in this interactive Javascript workshop #exercises
- Learn ES6 Generators JavaScript ES6 generators workshopper #exercises
- Tower of babel Tower of babel is tour of babel #exercises
- Promises A Workshopper module that teaches you to use promises in javascript #exercises
- WebGL Learn the WebGL API #exercises
- WebGL with three.js An introduction to WebGL with three.js #exercises
- ES5 Spec An annotated, hyperlinked version of the ES5 spec
- ES6 Spec ECMAScript® 2015 Language Specification
- JavaScript for Kids by Nick Morgan
- Eloquent JavaScript by Marijn Haverbeke
- JavaScript: The Good Parts by Douglas Crockford
- Effective JavaScript by David Herman
- Learn JavaScript Universal App Development with Node, ES6, & React by Eric Elliott
- Programming JavaScript Applications by Eric Elliott
- JavaScript: The Definitive Guide by David Flanagan
- You Don't Know JS by Kyle Simpson
- Understanding ECMAScript 6 by Nicholas C. Zakas
- JavaScript Allongé by Reginald Braithwaite
- Node.js in Action by Mike Cantelon, Marc Harter, T.J. Holowaychuk and Nathan Rajlich
- High Performance Browser Networking by Ilya Grigorik #book
- "Seven Languages in Seven Weeks" Learn different ways of solving problems and you'll deepen your understanding of JavaScript. #book
- 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.
- 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
- Browserify Bundle modules for the browser.
- Webpack Similar to Browserify, with more batteries included and a config file. Supports live patching rebuilds.
- How to use NPM as a Build Tool
- pre-commit Easily configure pre-commit hooks for your package
- ESLint The pluggable linting utility for JavaScript and JSX.
- JSCS Linter with a focus on automatic fixes and built-in style guide presets.
- babel-eslint Allow ES6 features to pass ESLint.
-
eslint-plugin-no-class Forbid the ES6
class
keyword. Why? - ESLint no-inferred-methodname A custom rule for a common problem. #code
- Istanbul Code coverage reporting
- tape Dead simple unit testing #code
- tap-browser-color Prettify tap output in the browser. Works well with Tape. #code
- faucet Prettify tap output in the console. Plays well with Tape. #code
- Supertest The best way to test HTTP endpoints. #code
- 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.
- Node.js Server side JavaScript and more
- 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
andreq.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.
- Introducing React #video
- React blog Official React blog
- JSX Looks Like an Abomination but it's Good for You My take on JSX #article
- React Pure Component Starter Learn React pure components #code
- Baby's First Reaction Build your first working React component #article
- Immutable Data and React by Lee Byron #video
- react-stamp Composable, classless React components made easy #code
- react-engine PayPal's isomorphic React view engine for Express or Kraken #code
- Stilr Simplify JS component styles #code
- eslint-plugin-react #code
- React Hot Loader Live patching for Webpack #code
- livereactload Live patching for Browserify #code
- Redux Predictable state container (store) for JavaScript apps #code
- Redux Devtools DevTools for Redux with hot reloading, timetravel debugging, and customizable UI
- Cerebral An immutable store for global app state #code
- react-native React for mobile devices #code
- Elemental-UI Modular UI component library for React. #code
- VelocityReact Great animations for React #code
- react-art React for SVG or canvas #code
- react-canvas React for canvas #code
- react-three Three.js rendering for React #code
- react.rocks Pinterest-style directory of online demos with available code
- TodoMVC in React #example
- JSX Specification #documentation
- Relay Build data-driven React applications. #code
- Data Fetching for React Relay & GraphQL Described
- Introducing Relay and GraphQL #video
- Let's Learn GraphQL #course
- Building the Facebook Newsfeed with Relay #article
- Relay FAQ #article
- Mutations in Relay (slideshow) Slideshow + speaker notes #slideshow
- Relay and Routing by Christoph Pojer. #article
- Getting started with GraphQL and Node.js #article
- GraphQL Specification
- GraphQL Reference Implementation #code
- graphql-server A GraphQL server implementation with Mongo / Mongoose #code
- FIRST
- Polyfills
- HTML Imports
- Custom Elements
- Templates
- Shadow DOM
- x-gif This web component wins the internet.
- Vulcanize Don't let web components slow your app down. Bundle your HTML imports.
- 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.
- 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 );
- JavaScript Questions Chat
- JavaScript on Google+
- HTML5 on Google+
- Node.js on Google+
- IRC ##JavaScript irc://irc.freenode.net/javascript
- IRC #node.js irc://irc.freenode.net/node.js
- IRC #io.js irc://irc.freenode.net/io.js The Node fork
- IRC #learnjavascript irc://irc.freenode.net/learnjavascript
- JavaScript Scene
- JavaScript Weekly
- Node Weekly
- HTML5 Weekly
- EchoJS
- JavaScript Live
- JavaScript.com News
- Node Module Of The Week
- JavascriptKicks
- 5 Minutes of Javascript
- Codepen
- RequireBin
- ES6 Fiddle
- CodePicNic Embed interactive full-stack snippets & demos
- JSBin Embed editable code snippets.
- jsFiddle
- DemoJS The JavaScript demoscene party
- JS1k JavaScript demos in 1k of memory
- JS13k Games JavaScript games in 13k of memory
- FightCode game program virtual battle bots and climb the leaderboard
- Node Knockout The legendary Node competition
- JavaScript for Kids
- Screeps A strategy game you control by writing JavaScript
- CodingGame Programming puzzle games
- Fightcode Program robots to do battle
- LearnToMod Mod Minecraft with JavaScript
- The Young Person's Guide to Programming in Minecraft
- 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 Herman Author, "Effective JavaScript"
- David Nolen Great functional programming content
- 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 millionNode 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
- JavaScriptKicks 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"
- Nicolas Bevacqua Author "JavaScript Application Design", Speaker, Open-Source Evangelist
- Paul Irish Developer evangelist, Chrome dev tools champion
- Reginald Braithwaite Author, "JavaScript Allongé", speaker, PagerDuty
- YDKJS You Don't Know JS, O'Reilly book series by Kyle Simpson