Incandescent Software

tales of web & veterinary software development

A Comprehensive List of JavaScript Resources

A few people have asked me lately about books and other resources related to JavaScript. I’ve decided to list them here for reference. 

JavaScript Books:

There are many books about JavaScript. Some of them are better than others. Here is a list of books I read and recommend:

  1. JavaScript: The Good Parts by Douglas Crockford  
  2. Eloquent JavaScript: A Modern Introduction to Programming by Marijn Haverbeke 
  3. JavaScript patterns by Stoyan Stefanov
  4. Essential JS Design Patterns by Addy Osmani 
     

Blogs about JavaScript:

  1. http://javascript.crockford.com  by Douglas Crockford (a lot of interesting topics)
  2. http://dmitrysoshnikov.com/ by Dmitry Soshnikov (fantastic overview of ECMA-262 implementation and more)
  3. http://perfectionkills.com/ by kangax (exploring javascript by example)
  4. http://javascriptweblog.wordpress.com/ by Angus Croll (a lot of JS topics usually with great examples)
  5. http://www.adequatelygood.com/ by Ben Cherry
  6. http://ejohn.org/category/blog/ by John Resig
  7. http://mir.aculo.us/ by Thomas Fuchs


Websites about JavaScript:

  1. JavaScript Garden: http://bonsaiden.github.com/JavaScript-Garden (this is a good resource but please also see the feedback about it here)
  2. DailyJS http://dailyjs.com (every day you can see what’s new in JavaScript world)
  3. JavaScript Weekly http://javascriptweekly.com
  4. Annotated ECMAScript 5.1 http://es5.github.com
  5. Badass JavaScript http://badassjs.com

 

Mailing Lists:

  1. JSMentorshttp://jsmentors.com (discussion of JavaScript, mentoring, code reviews)



Client-Side JavaScript Frameworks and Tools:

Frameworks come into many flavors (monolithic, hybrid, micro) and different people advocate for different approaches. You can read more on the topic here: http://mir.aculo.us/2011/04/11/i-for-one-welcome-our-new-micro-framework-overlords/ and here: http://tomdale.net/2011/04/imagine-a-beowulf-cluster-of-javascript-frameworks/ and choose your side or just use the best tool for the job :).

  1. Backone.js http://documentcloud.github.com/backbone/ (model centric, evented based)
  2. Spine http://maccman.github.com/spine
  3. MicroJS http://microjs.com (collection of small tools and libraries)
  4. Sproutcore http://www.sproutcore.com (version 2.0 is more a hybrid approach)
  5. EmberJS http://emberjs.com
  6. ZeptoJS http://zeptojs.com (micro framework which follows jQuery API and targets mobile webkit)
  7. KnockoutJS  http://knockoutjs.com (Model - View - View Model approach)
  8. Angular http://angularjs.org (another hybrid with some interesting patterns behind it)

Online JavaScript Tools:

  1. JSFiddle http://jsfiddle.net (a playground for web developers)
  2. JSLint http://www.jslint.com (The JavaScript Code Quality Tool)
  3. JSHint http://jshint.org 
  4. JSONLint http://jsonlint.com (JSON validator)
  5. jsPerf http://jsperf.com (JavaScript performance playground)

So there you have it. I’ve been collecting these materials for a while now. This list is not set in stone and I’m curious if you found some other resources worth mentioning. I’m collecting a similar list related to Node.js and CoffeeScript which I may share in the future.

- michal