JavaScript: Noteworthy Tools & Libraries

13 Jun

Last Updated: 2013-03-19

I am the co-organizer of the Twin Cities JavaScript users group known as JavaScriptMN.  At one of our recent meetups (2012-05-31), we were set to have 30 minutes of discussion and/or lightning talks on the theme of “tools and libraries that you couldn’t live without”.  While the goal of the theme was to point out the most valuable tools and libraries available, our main speaker for the night was missing in action and so we continued discussing tools and libraries for the entire duration of the meetup.  I’ve put all the suggestions together into a composite list and categorized them all, though the order of the categories themselves is definitely a bit askew.

Please note that this is not intended to be a list of the best tools/libraries in each category but rather providing a small set of those available.  The reason behind this is that many of them are still actively in development (the coverage tools are a good example), and so I don’t want to only list the single option that I feel is best at this point in time as it may be eclipsed by one of its listed competitors (or something totally new!) in the near future.

My intent is to keep this blog post up-to-date as time marches on, so be sure to keep a link to it handy (or just to my main blog page, as I’ve made this post “sticky” as well).  Now, on to the list!

DOM Manipulation & AJAX
Dependency Management
Script Loading
Builds Tools
Static Code Analysis (including syntax validation)
Beautifiers / Style Checkers
Testing Frameworks
  • Jasmine (BDD)
  • QUnit [and its old docs] (TDD; can use the Pavlov extension to add BDD support)
  • Mocha (BDD and TDD, you choose! Also allows for custom Assertion libraries… I use “expect.js”)
  • BusterJS (BDD and TDD, you choose! Also has a lot of built-in automation tooling)
  • Many other [less good] frameworks….
Code Coverage
Documentation Generators
Headless Browsers & Browser Automation Tools
Cross-Browser Testing/VMs
Templating Engines
MV* Frameworks
Feature Detection
  • Modernizr: HTML and CSS feature detection
  • has.js: JavaScript/ECMAScript feature detection
Shims & Polyfills
XML Processing
  • Saxon CE (XSLT 2.0 via JavaScript!)
  • jQuery (just using selector queries)
Performance Analysis
Performance Profiling
Memory Profiling
Screenshot Scrapers
Content Delivery Networks (CDNs) – Get your scripts (and content) to your clients faster, with a higher probably for cache hits
Unminification & Decompilation (e.g. JavaScript → CoffeeScript, CSS → SASS)
  • Source Maps in Google Chrome Canary – This is badass!
Sandboxing (to make 3rd party JS safer):
Parsers & Tokenizers
Code Sharing
Transpiled Languages
Web Debugging
  • Integrated console.log function (plus some alternatives: Blackbirdlog4javascriptfauxconsole)
    • Note: console.log is supported in IE8+ but only if you have “Start[ed] debugging” with the integrated IE Developer Tools (which creates the window.console object, oddly enough)
  • Firebug
  • Chrome Developer Tools
Mobile Web Debugging
CSS Preprocessors
Other Noteworthy Libraries
Online Learning Resources
Video Learning Resources

One response to “JavaScript: Noteworthy Tools & Libraries

%d bloggers like this: