Superhero.js

4 min read Original article ↗

Creating, testing and maintaining a large JavaScript code base is not easy — especially since great resources on how to do this are hard to find. This page is a collection of the best articles, videos and presentations we've found on the topic.

Follow us on Twitter, GitHub, or check out our newsletter.
We'd love to hear your suggestions via e-mail or as Github Issues.

We come across a lot of great articles on creating, testing and maintaining large JavaScript applications. This page is a continuously updated list of articles that help explain the syntax of JavaScript, how to organize your projects, how to test your code, and what's on the horizon. Have fun!

  1. Understanding JavaScript: Syntax, style and gotchas
  2. Organizing your code: API design, patterns and frameworks
  3. Testing your application: Testable code, readable tests
  4. Tools of the trade: Workflow, developer tools and debugging
  5. Performance and Profiling: Fast and memory-efficient code
  6. Securing your app: Principles, access and validation
  7. Under the hood: Understanding the browser
  8. On the horizon: Stuff to keep an eye on
  9. The league of awesome: Other superheroic resources

Organized by @kimjoar, @madsmobaek, @vandelay, @mollerse and @mikaelbrevik. – Last updated on

Understanding JavaScript

  1. Understanding JavaScript Function Invocation and "this" Yehuda Katz, yehudakatz.com
  2. Common JavaScript "Gotchas" James Fuller, jblotus.com
  3. Preparing Yourself for Modern JavaScript Development Justin Etheredge, codethinked.com
  4. Prototypes and Inheritance in JavaScript Scott Allen, msdn.microsoft.com
  5. Style Guide: A mostly reasonable approach to JavaScript Airbnb, github.com/airbnb
  6. Course Code School: The JavaScript Path Code School
  7. Book Eloquent JavaScript Marijn Haverbeke
  8. Book Effective JavaScript David Herman
  9. Book series You Don't Know JS Kyle Simpson

Organizing your code

  1. Designing Better JavaScript APIs Rodney Rehm, coding.smashingmagazine.com
  2. Asynchronous JS: Callbacks, Listeners, Control Flow Libs and Promises Sebastian Porto, sporto.github.com
  3. I .promise() to show you .when() to use Deferreds Alex McPherson, youtube.com
  4. JavaScript Promises Jake Archibald, html5rocks.com
  5. JavaScript Module Pattern: In-Depth Ben Cherry, adequatelygood.com
  6. Journey From RequireJS to Browserify Esa-Matti Suuronen, suuronen.org
  7. Client-Side Templating Lars Kappert, smashingmagazine.com
  8. Book JavaScript Allongé Reginald Braithwaite
  9. Book JavaScript Patterns Stoyan Stefanov
  10. Book JavaScript Web Applications Alex MacCaw
  11. The Hikikomori's Guide to JavaScript Quil, robotlolita.me

Testing your application

  1. Writing Testable Frontend Javascript Part 1 – Anti-patterns and their fixes Shane Tomlinson, shanetomlinson.com
  2. Writing Testable JavaScript Ben Cherry, adequatelygood.com
  3. Make tests read like a book Wolfram Kriesing, uxebu.com
  4. The Plight of Pinocchio: JavaScript's quest to become a real language Brandon Keepers, opensoul.org
  5. CourseLet's Code: Test-Driven JavaScript James Shore, letscodejavascript.com
  6. Book JavaScript Testing Recipes James Coglan

Tools of the trade

  1. Automating Your Front-end Workflow Addy Osmani, youtube.com
  2. Discover DevTools Code School, codeschool.com
  3. Chrome Developer Tools Google, developers.google.com
  4. "The Breakpoint" episodes Paul Irish and Addy Osmani, youtube.com
  5. Control the Complexity of Your JavaScript Functions with JSHint Elijah Manor, elijahmanor.com

Performance and Profiling

  1. Writing Fast, Memory-Efficient JavaScript Addy Osmani, smashingmagazine.com
  2. Improving Web App Performance With the Chrome DevTools Addy Osmani, addyosmani.com
  3. Jank Busters: Building Performant Web Apps Nat Duca & Tom Wiltzius, youtube.com
  4. Leaner, Meaner, Faster Animations with requestAnimationFrame Paul Lewis, html5rocks.com
  5. How (not) to trigger a layout in WebKit Tony Gentilcore, gent.ilcore.com
  6. Book High Performance Browser Networking Ilya Grigorik
  7. Book High Performance JavaScript Nicholas C. Zakas

Securing your app

  1. Single Page Web App Security Cheat Sheet Erlend Oftedal, github.com/eoftedal
  2. Frontend Security Mike West, mikewest.org
  3. Book The Tangled Web Michal Zalewski

Under the hood

  1. What the heck is the event loop anyway? Philip Roberts, 2014.jsconf.eu
  2. How browsers work Tali Garsiel & Paul Irish, html5rocks.com
  3. WebKit for Developers Paul Irish, paulirish.com
  4. mö.js - explaining js vm in js Vyacheslav Egorov, youtube.com
  5. How do Promises Work? Quil, robotlolita.me

On the horizon

  1. The Web Can Do That!? Eric Bidelman, youtube.com
  2. Overview of ECMAScript 6 features Luke Hoban, github.com/lukehoban
  3. Deploying JavaScript Applications Alex Sexton, alexsexton.com
  4. Immutability, interactivity & JavaScript David Nolen, youtube.com
  5. What is virtual DOM? Jack Bishop, jbi.sh
  6. Methods of communication Remy Sharp, html5doctor.com
  7. The introduction to Reactive Programming you've been missing André Staltz, github.com/staltz
  8. Components TJ Holowaychuk, tjholowaychuk.com
  9. JavaScript Dependency Injection Merrick Christensen, merrickchristensen.com