50+ JavaScript & HTML5 Frameworks and Related Tools

Posted on Mar 08, 2012

This is the first draft of a document I am using and handing out along with my upcoming presentations at 360Flex and cf.Objective(). It is a list of every JavaScript (and, to a lesser degree HTML5) framework I have come across over the past 6 months. I have organized them according to categories, given the URL, license details, source availability and a brief summary.

My goal in posting this now, other than hopefully people find it useful, is to ask for feedback from the community. What frameworks am I missing? Are there any mistakes? Would you choose different categories? What additional information would be useful?

Some ideas I have for this is to put it on GitHub so that anyone can submit an edit. Perhaps even convert it to some data format like JSON that can be used to create many means of searching or building off of it. Any thoughts on those ideas? For now please contribute via the comments.

Update Mar 12: Added Pure, CoreChain, Dojo Mobile, ClojureScript, GWT, DHTMLX, DHTMLX Touch, Qooxdoo

Full-stack Frameworks/Toolkits

jQuery
License: MIT and GPL licenses
GitHub: Yes
Summary: A framework that simplifies DOM traversing, event handling, animating and Ajax interactions for rapid web development. jQueryUI library includes UI components.

Dojo Toolkit
License: BSD license or the Academic Free License version 2.1
GitHub: No (source hosted on SVN)
Summary: A full stack framework and component set for building web-based and mobile applications that includes DOM manipulation, Ajax, animations, effects, and widgets.

ExtJS
License: GNU GPL license v3 and paid Commercial licenses available
GitHub: No
Summary: A full stack framework and extensive UI component set for building web-based rich internet applications.

Twitter Bootstrap
License: Apache v2
Github: Yes
Summary: A  toolkit for kickstarting HTML, CSS and JavaScript for websites and apps including base styles for typography, forms, buttons, tables, grids, navigation, alerts, and more..

YUI
License: BSD
GitHub: Yes
Summary: A lightweight and modular JavaScript and CSS framework for building interactive web applications.

MooTools
License: MIT
GitHub: Yes
Summary: A modular, object-oriented framework that re-creates pseudo-classical inheritance with Classes that allow for extensible and reusable behaviors.

Kendo
License: GPLv3 and paid Commercial licenses available
GitHub: No
Dependencies: jQuery
Summary: A full stack framework for building JavaScript-based web and mobile applicatings including support for templates, themes and UI widgets.

Prototype
License: MIT
GitHub: Yes
Summary: A framework including a toolkit for class-driven development and an Ajax library.

SproutCore
License: MIT
Github: Yes
Summary: An MVC application framework for data-centric applications that includes data bindings.

Ember.js
License: MIT
GitHub: Yes
Summary: Framework that tries to eliminate boilerplate and provide a standard architecture. Includes bindings, computed properties and auto-updating templates. Formerly SproutCore 2.0.

Blossom
License: GPL v3
Github: Yes
Summary: Another SproutCore fork, it re-architects the view layer to be HTML/CSS-independent while providing a high-performance animation subsystem that leverages hardware acceleration.

Google Closure
License: Apache v2
Github: No (Source available on Google Code)
Summary: Developed by Google engineers, it includes features like a JavaScript optimizer, a library of UI widgets and controls, a templating engine and extensions to CSS.

Cappuccino
License: LGPL
Github: Yes
Summary: Created with Objective-J, which is modelled after Objective-C but on JavaScript, it abstracts away HTML, CSS and the DOM and implements APIs from GNUstep and Cocoa.

Tower.js
License: MIT
Github: Yes
Summary: A full stack web framework for Node.js and the Browser built on top of Node's Connect and Express and modeled after Ruby on Rails.

 

DHTMLX
License: Standard Edition is GNU GPL v2, Commercial & Enterprise versions available.
Github: No
Summary: Includes collections of user interface components, allowing you to create robust web interfaces, manage client-server communications with Ajax, and implement server-side logic.

 

CoreChain
License: MIT and GPL
Github: No
Summary: An architectural framework and UI toolkit. (Documentation in Korean)

 

qooxdoo
License:  GNU LGPL and the Eclipse Public License (EPL)
Github: Yes
Summary: A JavaScript framework for creating apps for a wide range of platforms (mobile, website, desktop, server) that are object-oriented and utilize a comprehensive tool chain.

 

Architectural Frameworks

Knockout.js
License: MIT
GitHub: Yes
Summary: A lightweight framework for building JavaScript UI’s with declarative bindings using the Model-View-View Model (MVVM) pattern.

Backbone.js
License: MIT
GitHub: Yes
Summary: An architectural framework provides things like models key-value binding and custom events, views with declarative event handling and a RESTful JSON interface.

AngularJS
License: MIT
GitHub: Yes
Summary: An MVC and dependency injection framework that includes support for declarative UI templates and two-way binding.

Spine
License: MIT
GitHub: Yes
Summary: A lightweight MVC framework built with, but not requiring, CoffeeScript that includes features like asynchronous server communication, a full model layer and ORM.

Agility.js
License: MIT
GitHub: Yes
Summary: An MVC library that works with a single object type that contains a full model-view-controller stack.

Sammy.js
License: MIT
MIT: Yes
Summary: A very lightweight framework for applications made up primarily of routes and events that is designed to be modular, with adapters and plugins.

JavaScriptMVC
License: MIT
Github: Yes
Dependencies: jQuery
Summary: Comprised of 4 sub projects including the DocumentJS documentation engine, FuncUnit testing framework, jQueryMX MVC extensions and StealJS code manager.

Batman.js
License: MIT
Github: Yes
Summary: A framework for building applications with CoffeeScript or JavaScript including a system of view bindings and observable properties

Soma.js
License : Mozilla Public License (MPL) Version 1.1
Github: Yes
Summary: MVC framework focused on loosely-coupled apps that implements the Observer and Command patterns via the native JavaScript event system. Includes a MooTools version.

Supplementary Libaries

AmplifyJS
License: MIT or GPLv2
GitHub: Yes
Dependencies: jQuery
Summary: A set of components to simplify data handling and AJAX request management by providing a unified API for various data sources.

Underscore
License: MIT
GitHub: Yes
Summary: A library that provides functions and helpers for functional programming support including function binding, JavaScript templates and more.

Mustache.js
License: MIT
GitHub: Yes
Summary: An implementation of the Mustache logic-less template system in JavaScript.

Handlebars.js
License: MIT
Github: Yes
Summary: A library that works in conjunction with Mustache.js to let you build semantic templates.

RequireJS
License: BSD and MIT
GitHub: Yes
Summary: A JavaScript file and module loader optimized for the browser but works with server-side solutions like Node and Rhino.

Microjs
License: depends on micro-framework or micro-library
GitHub: Yes
Summary: A large collection of micro-frameworks each with a very limited and specific intent.

UKI
License: MIT
Github: Yes
Summary: A simple JavaScript user interface toolkit for desktop-like web applications that comes with a rich view-component library.

Pure
License: MIT
Github: Yes
Summary: A templating tool to generate HTML from JSON data that can work standalone or with dojo, DomAssistant, jQuery, Mootools, Prototype, Sizzle and Sly.

Graphics/Animation

EaselJS
License: MIT
GitHub: Yes
Summary: A library to simplify working with the html5 canvas element including a full, hierarchical display list and a core interaction model.

Paper.js
License: MIT
GitHub: Yes
Summary: An open source vector graphics scripting framework that runs on top of the HTML5 Canvas.

Raphael
License: MIT
Github: Yes
Summary: A small JavaScript library to simplify working with vector graphics via SVG and VML.

Mobile Specific

jQuery Mobile
License: MIT and GPLv2
GitHub: Yes
Dependencies: jQuery
Summary: A HTML5-base UI system for all popular mobile device platforms, built on a jQuery and jQuery UI foundation.

Sencha Touch
License: GNU GPL license v3 and free Commercial licenses available
GitHub: No
Summary: A mobile web app development framework built with HTML5, CSS3, and Javascript and including components like audio and video, a localStorage proxy and styling layer.

Zepto
License: MIT
GitHub: Yes
Summary: Primarily focused on mobile, this is  a minimalist JavaScript framework with a jQuery-compatible syntax.

The M Project
License: MIT & GPL
Github: Yes
Dependencies: jQuery, jQuery Mobile
Summary: An MVC framework for mobile app development including features like offline support, local storage, positioning, a touch-optimized UI, i18n support and native packing via Espresso.

jQ.Mobi
License: MIT
Github: Yes
Summary: The jQuery framework rewritten from the ground up to be optimized for mobile browsers on iOS and Android.

Spine Mobile
License: MIT
Github: Yes
Dependencies: Spine
Summary: Built on top of Spine that, it strives for a native look-and-feel and includes features like specialized controllers and panel layout, hardware accelerated transitions and touch events.

gbone.js
License: MIT
Github: Yes
Dependencies: Backbone.js, Underscore.js, Zepto or jQuery
Summary: Inspired by Spine Mobile but written for Backbone and adding design patterns like observer and cleanup mixins based on Backbone.js on Rails ebook.

jQTouch
License: MIT
Github: Yes
Summary: A plugin for Zepto or jQuery designed for mobile web development on the iPhone,
Android and iPod Touch.

Enyo
License: Apache v2
Github: Yes
Summary: An object-oriented JavaScript framework built for mobile first, though it supports desktop browsers, and powering WebOS.

ChocolateChip UI (ChUI)
License: MIT
Github: Yes
Summary: A framework for mobile web application on the WebKit platform that provides layouts and widgets with built-in functionality. Has been ported to jQuery and Zepto.

xui.js
License: MIT
Github: Yes
Summary: An extremely small DOM library for authoring html5 mobile web applications. Originally written for PhoneGap by members of the PhoneGap team.

Jo
License: MIT
Github: Yes
Summary: A framework for mobile HTML5 web or native apps that includes widgets, lists and scrolling goodness using JavaScript and CSS3. Works well with PhoneGap.

Dojo Mobile
License: BSD license or the Academic Free License version 2.1
GitHub: No (source hosted on SVN)
Summary: An HTML5 and JavaScript framework that focuses on a native look and feel on modern webkit-enabled mobile devices such as iPhone, iPod Touch, iPad, Android and RIM.

 

DHTMLX Touch
License: GNU GPL and free commercial Licenses
Github: No
Summary: A full framework and UI widgets for building HTML5-based mobile web apps.

 

Server-side JS

Node.js
License: MIT (included libraries vary)
GitHub: Yes
Summary:  Platform built on Chrome's JavaScript runtime for building network applications using an event-driven, non-blocking I/O model for data-intensive real-time applications.

Rhino
License: MPL 1.1/GPL 2.0 license
Github: Yes
Summary:  An implementation of JavaScript written entirely in Java typically for embedding into Java applications to provide scripting to end users.

Testing

Mocha
License: MIT
Github: Yes
Summary: A JavaScript test framework running on node and the browser for asynchronous testing.

QUnit
License: MIT
Github: Yes
Summary: QUnit is a JavaScript test suite used by the jQuery project to test its code and plugins but capable of testing any generic JavaScript code.

Shim
License: unknown
Github: Yes
Dependencies: Node.js
Summary: A cross-browser and cross-device compatibility testing framework.

JSDev
License: Not listed
Github: Yes
Summary: A filter that is useful for testing as it activates selected comments, making them executable.

PhantomJS
License: MIT
Github: Yes
Summary: Designed for headless website testing, Shim is a headless WebKit with JavaScript API including native support for DOM handling, CSS selector, JSON, Canvas, and SVG.

wru
License: MIT
Github: Yes
Summary: A general purpose test framework compatible with web environment, node.js, Rhino, and now PhantomJS.

SinonJS
License: Simplified BSD
Github: Yes
Summary: Standalone test spies, stubs and mocks for JavaScript with no dependencies and works with any unit testing framework.

Jasmine
License: MIT
Github: Yes
Summary: A behavior-driven development framework for testing JavaScript code that does not depend on any other JavaScript frameworks.

Gaming

Impact
License: Paid commercial license
GitHub: No
Summary: Impact is a JavaScript Game Engine that allows you to develop stunning HTML5 Games for desktop and mobile browsers.

ThreeJS
License: MIT
GitHub: Yes
Summary:  A lightweight 3D library designed for a very low level of complexity and providing canvas, svg and WebGL renderers.

CreateJS
License: MIT
Github: Yes
Summary: A whole suite of libraries, including EaselJs, TweenJS, SoundJS, PreloadJS and Zoe, designed for creating games and animations.

Languages That Compile to JavaScript

CoffeeScript
License: MIT
GitHub: Yes
Dependencies: Node.js
Summary: Billed as an attempt to expose the good parts of JavaScript in a simple way.

Google Dart
License: BSD
Github: No (Source available on Google Code)
Summary: Intended to solve JavaScript's problems and offer better performance, including  the ability "to be more easily tooled for large-scale projects" and better security features.

Brunch
License: MIT
GitHub: Yes
Dependencies: CoffeeScript, Backbone.js, Underscore.js, Stitch, Eco, Stylus & jQuery.
Summary: Billed as "a lightweight approach to building HTML5 applications with emphasis on elegance and simplicity."

ClojureScript
License: Eclipse Public License 1.0
Github: Yes
Summary: A compiler for Clojure that targets JavaScript and is designed to emit JavaScript code which is compatible with the advanced compilation mode of the Google Closure compiler.

Google Web Toolkit (GWT)
License: Creative Commons Attribution 3.0 License
Github: No
Summary: The GWT SDK contains the Java API libraries, compiler, and development server that let you write client-side applications in Java and deploy them as JavaScript.