Open source JS frameworks


Lots of our employees are asked about variety of frameworks in their Job Interviews. This will help a lot of job Seekers to understand the details in a better way.

Ember.js – Attempts to remove tedious boilerplate code. Includes a templating engine (no one will agree on just one), encourages an architecture where the browser does most of the work, supports state-management out of the box. Focus on computed properties, and templates that update themselves.

Underscore .js – A library of more than 60 functions to make JavaScript more fun and easier to use. Provides a layer that will use a modern browser’s native implementation of a method while still supporting older browsers. Has iterators like each, map, reduce, etc. In a way, it’s like LINQ for JavaScript.

JavaScriptMVC – A jQuery-friendly framework that adds functional testing, MVC plugins, documentation generation, dependancy management and build tools.
Spine.js – Seems like less than a Backbone (these libraries all play with each other’s names). Introduces models and controllers, but for views, requires you use your own template engine. Intends to be super lightweight.

Backbone.js – Everyone loves Backbone. It’s the one you’ll hear about the most. There’s a large community supporting it. Folks have said that large applications can get a little hairy and difficult to manage, though. Lots of great docs and examples.

Knockout.js – MVVM on the client rather than MVC. Lots of interesting client-side data-bind expressions. Rich documentation.And, wait for it, Knockback.js, a library that bridges the gaps between Knockout and Backbone and encourages you to use both effectively.

Sammy.js – A very small core library that brings in other adapters and plugins to give you just the parts you need. Focused on developer happiness. Works well with apps that are sitting on top of RESTful JSON server sides.

Angular.js – Includes templates, two-way data-binding and MVC, again, all on the client. Very small and starting to make a splash.

SproutCore – SproutCore seems to be very complete and more prescriptive than other frameworks. It also has a focus on making apps on tablets and other devices. The NPR for Chrome app used them.

Cappuccino – If you like and think in Objective-C, you’ll like Cappuccino and Objective-J. Cappuccino is kinda of Cocoa (Mac APIs) for the web.

Google Closure – Almost doesn’t belong in the list as it’s a very complete toolkit with a whole worldview, rich library, templates, and lots of extras. You can choose how much you want to embrace, though.

ExtJS4 – This is a Sencha product and now on its fourth major release. It includes not only a framework and architecture but also widgets and charts.

PureMVC – Another MVC on the client side implementation, but this one was ported from ActionScript. It was originally used on Adobe Air and the like.

Batman.js – Bonus points for the best name. Explicitly embraces CoffeeScript as well as JavaScript. Only 2000 lines and very few extras. Very Rails friendly, prescriptive without being oppressive.

Require.js – A JavaScript file and module loader.

PrefixFree.js – A nice library that expands all your CSS to use the explosion of vendor prefixes correctly.

Lawnchair.js – Client-side storage and persistence. Less than a couch, but smaller and outside.

Mustache – Templates for views, explicitly without logic.


Leave a Reply

Your email address will not be published. Required fields are marked *