Awesome
Deprecation Warning
I had moved it into another repo and compiled my favirate reads, artciles together. :)
Essential JavaScript Links
Originally forked from Essential JavaScript Links but modified according to personal favor.
This is a very exclusive collection of only must-have JavaScript links. I'm only listing my favorite links. Nothing else makes the cut. Feel free to suggest links if you think they're good enough to make this list. The really curious should feel free to browse the comments to find other links. I can't guarantee the quality of links in the comments.
If you want to view the well organized version, please head to this link.
Required Reading
- Learn JavaScript Essentials (for all skill levels) - One clear path to JavaScript mastery
- 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.
- The Two Pillars of JavaScript Part 1: Prototypal OO
- The Two Pillars of JavaScript Part 2: Functional Programming
- JavaScript Objects: An excellent explanation of inheritance in JavaScript by Kyle Simpson.
- Isomorphic JavaScript
- JavaScript Application Architecture on the Road to 2015 - Addy Osmani
- 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.
- 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.
- Why Functional Programming Matters by John Hughes, 1984 #paper #pdf
- Typed JavaScript Excellent post about the state of typed JavaScript by Axel Rauschmayer #article
- ES6 Promises: This is a multi-part blog post series on the whys and hows and problems of Promises by Kyle Simpson.
- ES6 Generators: A series of blog posts by Kyle Simpson.
- Typed JavaScript: Excellent post about the state of typed JavaScript by Axel Rauschmayer
- Taming the Asynchronous Beast with CSP in JavaScript - James Long
- ES6 Modules: The Final Syntax by @rauschma #AMDisDead
- 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
- 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
- Facebook just taught us all how to build websites
- JavaScript-Garden: JavaScript Garden is a growing collection of documentation about the most quirky parts of the JavaScript programming language.
- 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.
- Chrome DevTools: State Of The Union 2015: @addyosmani 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.
- JavaScript Scene: Learn JavaScript Essentials(for all skill levels) by Eric Elliott (author of Programming JavaScript Applications)
- miguelmota/javascript-idiosyncrasies: A bunch of Javascript idiosyncrasies, kinda.
- A Baseline for Front-End Developers: by @rmurphey on APR 12TH, 2012
- A Baseline for Front-End [JS] Developers: 2015: by @rmurphey on MAR 23RD, 2015
- 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.
- :star2: Function as Child Components
- :star2: Mixins Are Dead. Long Live Composition
- :star2: Smart and Dumb Components
- :star2: dexteryy/spellbook-of-modern-webdev: A Big Picture, Thesaurus, and Taxonomy of Modern JavaScript Web Development
- :star2: wearehive/project-guidelines: A set of best practices for JavaScript projects
Required Viewing
- Asynchronous Programming at Netflix - Jafar Husain
- David Nolen: Immutability: Putting The Dream Machine To Work - David Nolen
- Delivering the Goods: Paul Irish on one of the most important but overlooked topics in the development world today - page load times.
- bolshchikov/js-must-watch: Must-watch videos about javascript.
- 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
- 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
Dailies and Weeklies
- JavaScript Weekly: A free, once–weekly e-mail round-up of JavaScript news and articles.
- ES.next News](http://esnextnews.com/): ES.next News: 5 ECMAScript.next links every week, in your inbox.
- Fresh Brewed Frontend: A weekly reading digest for frontend developers. One email. Handpicked articles. Every Tuesday. No spam.
- HTML5 Weekly: A once–weekly HTML5 and Web Platform technology roundup. CSS 3, Canvas, WebSockets, WebGL, Native Client, and more.
- CSS Weekly: A weekly e-mail roundup of css articles, tutorials, experiments and tools curated by Zoran Jambor.
- Mobile Web Weekly: A weekly round-up of the releases, articles, and links that affect Web developers working on the mobile-facing Web.
- Responsive Design Weekly: A free, once–weekly round-up of responsive design articles, tools, tips, tutorials and inspirational links.
- 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.
- Node Weekly: A free, once–weekly e-mail round-up of Node.js news and articles.
- Web Tools Weekly:
- EchoJS
- DailyJS: A JavaScript Blog.
- JavaScript Jabber
- A Drip of JavaScript: One quick JavaScript tip, delivered to your inbox every other week.
- Modern Web Observer
- Web Development Reading List: A handcrafted, carefully selected list of web development related resources. Published usually every week.
- DevOps Weekly newsletter
- DevOps newsletter by ServerDensity
- SysAdmin Casts newsletter
- Servers for hackers newsletter
- Docker Weekly newsletter
- Kubernetes Weekly newsletter
- Web Operations Weekly: A weekly newsletter on Web operations, infrastructure, performance, and tooling, from the browser down to the metal.
- Cloud Development Weekly: News, links and resources for developers working with cloud services, cloud APIs, and cloud-based tools
- This Week on Domains : A free weekly newsletter featuring the best and hand curated links related to domains, development, monetization, how to guides, tips and tricks, resources, events and more.
- NoSQL Weekly: A free weekly newsletter featuring curated news, articles, new releases, jobs etc related to NoSQL.
- Founder Weekly: A free weekly newsletter for entrepreneurs featuring best curated content, must read articles, how to guides, tips and tricks, resources, events and more.
- Python Weekly: A free weekly newsletter featuring curated news, articles, new releases, jobs etc related to Python.
- Ruby Weekly: A free, once–weekly e-mail round-up of Ruby news and articles.
- Go Newsletter: A weekly newsletter about the Go programming language.
- DB Weekly: A weekly round-up of database technology news and articles covering new developments, SQL, NoSQL, document databases, graph databases, and more.
- MySQL Newsletter: Unofficial Weekly News Digest of all things MySQL
- Postgres Weekly: A free, once–weekly e-mail round-up of PostgreSQL news and articles
- Data Science Weekly Newsletter: A free weekly newsletter featuring curated news, articles and jobs related to Data Science.
- Big Data Weekly: A free, hand-curated weekly round-up of Big Data news and links.
- Github Explore: Browse interesting projects, solving all types of interesting problems.
- SaaS Weekly: A weekly email of useful links for people interested in SaaS businesses.
- ng-newsletter: The free, weekly newsletter of the best AngularJS content on the web. Hand-picked content by the experts in Angular - delivered directly to your inbox.
- Ember Weekly: The latest Ember.js news, tips & code delivered directly to your inbox.
- HTML5 Game Development Newsletter: Weekly newsletter about HTML5 Game Development.
- 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.
Awesomeness
- A curated list of awesome awesomeness: A curated list of amazingly awesome awesomeness. Also available on: Awesome-Awesomeness.ZEEF.com
- A curated list of awesome lists: A curated list of awesome lists by @sindresorhus.
- moklick/frontend-stuff: A continuously expanded list of framework/libraries and tools I used/want to use when building things on the web. Mostly Javascript stuff.
- Front-end Feeds: An up to date list of RSS feeds for front-end developers.
- RFC Reader: An online reader(viewer) for IETF RFCs.
- HTTP Specifications: You could find anything you want for Hypertext Transfer Protocol - the core protocol of the World Wide Web.
- ECMAScript 6 Tools: An aggregation of tooling for using ES6 today.
- Web Performance Optimization: A curated list of Web Performance Optimization.
- Frontend Guidelines: Some HTML, CSS and JS best practices.
- free-for-dev: A list of SaaS, PaaS and IaaS offerings that have free tiers of interest to devops and infradev.
- timjacobi/angular2-education: A curated list of helpful material to get started with education on Angular 2
- CSS Tool Collection: CSS tools are important for front-end developers because they help them by simplifying the jobs they have to do, simplify development related tasks and allow to write clean css codes.
- Curated tutorial and resource links I've collected on React, Redux, ES6, and more
Spec
- ECMAScript 2016 Language Specificiation
- ES5 Spec An annotated, hyperlinked version of the ES5 spec
- ES6 Spec ECMAScript® 2015 Language Specification
- ES2016 (ES7) Spec
Conf
We need to keep learning. One of the most rewarding ways to do that is by attending conferences.
- 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.
- Velocity: Web operations, performance, DevOps, optimization, and more. Join the engineers, developers, and technology leaders who are defining the IT-driven business at the Velocity conference.
- Forward JS: WEB TECHNOLOGY SUMMIT
- MUNICH JS: MunichJS is a user group in Munich for developers (amateurs, journeymen and gurus) that meets monthly to discuss topics on JavaScript and ECMAScript. Meetings take place in each month on different locations. The group was established in October 2010 at the BarCamp in Munich. Orgnaized by Dr. Axel Rauschmayer@rauschma
- OSCON: Open source software, architecture, frameworks, and tools for today’s engineers
- JS REMOTE CONFS: JS Remote Conf is a great way to learn from the brightest minds in JavaScript while minimizing these issues. The main benefits of JS Remote Conf are: No travel, Low Cost, After Work, Watch Anywhere, Users' Group Friendly
- React.js Conf: All cutting-edge techs related with React.
Books
- Professional JavaScript for Web Developer by Nicholas C. Zakas: In this book JavaScript is covered from its beginning in the earliest Netscape browsers to the present-day versions that can support the DOM and Ajax. You will learn how to extend the language to suit specific needs and how to create client-server communications without intermediaries such as Java or hidden frames. You will also learn how to apply JavaScript solutions to business problems faced by web developers everywhere. This book provides a developer-level introduction along with more advanced and useful features of JavaScript.
- JavaScript for Kids
- 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
- JavaScript: The Good Parts
- Effective JavaScript by David Herman: 68 Specific Ways to Harness the Power of JavaScript
- Expert JavaScript by Mark E. Daggett: Take a deep dive into JavaScript and build better applications
- Programming JavaScript Applications
- JavaScript: The Definitive Guide
- You Don't Know JS
- Understanding ECMAScript 6 by Nicholas C. Zakas
- Exploring ES6: Upgrade to the next version of JavaScript by Axel Rauschmayer@rauschma
- Node.js in Action
- The Dream Machine: J.C.R. Licklider and the Revolution That Made Computing Personal
- Secrets of the JavaScript Ninja Takes you on a journey towards mastering modern JavaScript development in three phases: design, construction, and maintenance
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.
- Yarn "Fast, Reliable, and Secure Dependency Management". May speed up your installs and make them more deterministic than using npm. Uses the npm registry.
- Atom Nice, hackable editor by GitHub.
- Tern Static analysis in JavaScript
- 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.
- Zoom Video meetings with remote control - great for interviews and remote pair programming.
- PrettyDiff
- Babel Repl The Babel REPL with compiled output
- ESNextBin A babel powered ES6+ browser bin with npm package support.
- Cloud9 Your dev environment and IDE in the cloud.
- Koding Online cloud development platform with video & audio collaboration.
- updtr Keep your modules up to date.
- Greenkeeper Automatically opens PRs when your dependencies fall behind latest.
- greenkeeper-keeper Automatically merges Greenkeeper PRs when tests pass.
Building
- Webpack Bundle modules for the browser.
- How to use NPM as a Build Tool
- Husky: 🐶 Git hooks made easy
- pre-commit Easily configure pre-commit hooks for your package
- Browserify Bundle modules for the browser
- How to use NPM as a Build Tool
- jspm.io: Frictionless browser package management
Grunt: The JavaScript Task RunnerGrulp: Automate and enhance your workflow
Testing / Lint / Quality checkers
- ESLint The pluggable linting utility for JavaScript and JSX.
- ESLint no-inferred-methodname A custom rule for a common problem. #code
- Istanbul Code coverage reporting
- nyc a code coverage tool built on istanbul that works for applications that spawn subprocesses.
- 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
Transpilers
- Babel Transpile ES2015 (ES6), ES7 to ES5, JSX to React
- TypeScript TypeScript's structural types are worth a look
- CoffeeScript
- Emscripten Frequently used to compile C/C++ to JavaScript
- Traceur (ES.next)
- ES6 tools Addy Osmani's ES6 Tools list
- You Might Not Need TypeScript #article
JavaScript environments
Libraries
- stats.js.org JavaScript repos ranked by popularity. #code
- Express The most popular framework for Node. #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 - cuid GUIDs are broken - use cuid, instead. #code
- React What do Facebook, Instagram, Netflix and PayPal have in common? React. #code
- RxJS Reactive extensions for JavaScript. What's reactive? #code
- Moment A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates. #code
- https://qa.polyfill.io/v2/docs/ Pollyfill browsers automatically. #code
- UpUp Make sure your site works even when your user is offline. #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
- Deep Freeze Deep freeze objects. #code
- jQuery Most popular JS lib by a landslide. #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
- 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.
- Stampit Create objects from reusable, composable behaviors. Prototypal inheritance with stamps. #code
- Countly Open source mobile & web analytics and marketing platform. #code
- node-jsonwebtoken Easy JSON Web Token auth. #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 - cross-env Use environment variables with npm scripts cross-platform. #code
- Wemo.io Open Source VR Tools #code
- IoT.js An Internet of Things JavaScript 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
- 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
- RxJS Reactive extensions for JavaScript. What's reactive?
- Moment A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates.
- Globalize i18n / translate your app for many languages and locations (locales)
- Express The most popular framework for Node
- 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
- velocity & Velocity Motion Designer (VMD) UI animation library
- json-schema - Great for model validations
React
- 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
- eslint-plugin-react #code
- Redux Predictable state container (store) for JavaScript apps #code
- Redux Devtools DevTools for Redux with hot reloading, timetravel debugging, and customizable UI
- redux-saga A synchronous-style side-effect library for Redux. #code
- MobX Simple, scalable state management with TFRP. #code
- react-native React for mobile devices #code
- Elemental-UI Modular UI component library for React. #code
- velocity-react The excellent Velocity UI animation library 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
Web Components
- 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.
GraphQL
- Let's Learn GraphQL #course
- GraphQL at Facebook #talk
- Getting started with GraphQL and Node.js #article
- GraphQL Specification
- GraphQL Reference Implementation #code
- graphql-server A GraphQL server implementation with Mongo / Mongoose #code
Progressive Web Apps (PWAs)
- Native Apps are Doomed Intro to PWAs #article
- Why Native Apps Really Are Doomed Why we need PWAs - packed with stats you need to know if you're building an app. #article
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
- 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
- JavaScript Questions Chat
- ES Discuss The mailing list where all the ECMAScript standard discussion action is.
- 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
News
- JavaScript Scene
- JavaScript Weekly
- Node Weekly
- HTML5 Weekly
- ESNext News
- EchoJS
- JavaScript Live
- JavaScript.com News
- Node Module Of The Week
- JavascriptKicks
- 5 Minutes of Javascript
Pasting / sharing code
- Codepen
- RequireBin
- ES6 Fiddle
- CodePicNic Embed interactive full-stack snippets & demos
- JSBin Embed editable code snippets.
- jsFiddle
- hyperdev
- Plunker
- Cloud9: Your development environment in cloud.
- 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
- FightCode game program virtual battle bots and climb the leaderboard
- Node Knockout The legendary Node competition
Hackable Hardware
Hosting
For kids (and people who just love to have fun)
- 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
Twitter (alphabetical order)
- 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 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
- Jordan Harband - Keeping us ahead of the JS curve
- Kyle Simpson - Author, YDKJS - O'Reilly, JS Instructor, open web evangelist
- 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