20 JavaScript Frameworks: MVVM Templating, Licenses etc.

Posted by | April 27, 2012 | JavaScript | 9 Comments
Spine

There a lot of developer who is working with server-side application. Modern web development is getting more and more into in-browser client-side. It’s not just server-side code, HTML, CSS, little JavaScript and jQuery.

As web applications move farther into in-browser development, Javascript frameworks have sprung up that operate on a higher level of abstraction than DOM manipulation frameworks like jQuery and Prototype.

Such high-level frameworks typically offer support for client-side view rendering, routing, data binding, templating, animation, drag-and-drop actions etc.

These JavaScript frameworks are listed alphabetical order below with descriptions and related links based on their website information.

20 JavaScript MVVM Frameworks: Overview

Below a quick overview about differences in MVVM templating, licensing, dependency, and size between JavaScript frameworks. Click on the title for more information and related links.

Gzipped
viagra for sale paypal MIT License NO
Agility MIT License jQuery 4 kb
Angular MIT License NO 29 kb
Asana Luna MIT License NO
Backbone.js MIT License jQuery 5.5 kB
batman MIT License CoffeeScript 15 kb
Cappuccino LGPL License (v2.1) jQuery 400 Kb
Choco FREE Sammy,js-model,Jim
CorMVC FREE jQuery 22 kb
Eyeballs MIT License NO
ExtJS GPLv3 and Commercial NO 300 kb
Jamal FREE jQuery
JavaScriptMVC MIT License jQuery,OpenAjax 4.3 kb
Kendo UI GPLv3 and commercial jQuery 150 kb
Knockout.js MIT License NO 13 kb
PureMVC CC +Attribution NO
Sammy MIT License jQuery 5.2 Kb
Spine MIT License CoffeeScript 2 kb
TrimJunction Open Source NO
qooxdoo LGPL and EPL jQuery,OpenAjax 30 kb

ActiveJS

ActiveJS is a JavaScript application framework that provides local and REST based data modeling and pure DOM view construction with back button and history support. No external dependencies, Does not modify built in objects, Exports only 5 globals, Framework agnostic, designed to be used with Prototype, jQuery, etc

Agility

Agility.js is an MVC library for Javascript that lets you write maintainable and reusable browser code without the verbose or infrastructural overhead found in other MVC libraries. The goal is to enable developers to write web apps at least as quickly as with jQuery, while simplifying long-term maintainability through MVC objects.

Angular

Angular supports the entire development process, provides structure for your web apps, and works with the best JS libraries.Declarative UI Templates, Two-Way Data Binding With angular, the view and data model are always in sync — there is no need for manual DOM manipulation. MVC with Dependency Injection

Asana Luna

Luna is one of those hush-hush private frameworks that people have been talking about. And for good reason, I must admit. The framework features a lot of niceties including an evolved MVC architecture, pubsub, caching, routing and authentication.

Backbone.js

Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.

batman

batman.js is a framework for building rich single-page browser applications. It is written in CoffeeScript and its API is developed with CoffeeScript in mind, but of course you can use plain old JavaScript too. It’s got: a stateful MVC architecture, a powerful binding system, routable controller actions, pure HTML views, toolchain support built on node.js and cake

Cappuccino

Cappuccino is an open source framework that makes it easy to build desktop-caliber applications that run in a web browser.

Choco

Choco brings the MVC to the client side!Thanks to Choco, you’ll be able to easily develop maintainable web applications. A Choco app consists of only one HTML page, all the interactions are managed by Javascript. Your UI only uses HTML and CSS!

CorMVC

CorMVC is a jQuery-powered Model-View-Controller (MVC) framework that can aide in the development of single-page, web-based applications. CorMVC stands for client-only-required model-view-controller and is designed to be lowest possible entry point to learning about single-page application architecture. It does not presuppose any server-side technologies, or a web server of any kind, and requires no more than a web browser to get up and running.

Eyeballs

eyeballs.js is a slim javascript library designed to sit on top of a javascript framework, such as jQuery or Prototype. Modules add various parts of functionality, for example the code that powers the individual model, controller, routing and validation layers. Drivers add support for underlying javascript frameworks. Features that rely on event handling etc. are part of driver logic. Adapters provide an API to various persistence layers, eg. HTML5 Local Storage, a REST interface or a CouchDB instance.

ExtJS

AExt JS 4 is a major step forward for web frameworks. Building on Ext JS 3.3, our latest release adds over 350 new APIs, 50 new classes, and 65% more documentation. Ext JS 4 also brings an entirely new data package that enables developers to use a model-view-controller architecture when building their app. The new MVC enables apps to leverage features like Infinite Scrolling a Grid to build an entirely new level of interactivity in to web apps

Jamal

Jamal is a set of conventions and small javascript libraries to archieve a complete separation of html, css and javascript in your web application. Jamal is built on jQuery and inspired by MVC frameworks like Ruby on Rails, CakePHP and its derivatives.

JavaScriptMVC

JavaScriptMVC is an open-source Rich Internet Application framework based on jQuery and OpenAjax. It extends those libraries with a model–view–controller architecture and tools for testing and deployment.

Kendo UI Framework

Kendo UI provides everything you need for building modern, interactive, JavaScript applications. It delivers a rich framework for client-side data binding, templating, animation, and drag-and-drop actions. Don’t waste time trying to assemble a bevy of jQuery Plugins. Kendo UI delivers a seamless, professionally tested and supported HTML5 toolbox for every project.

Knockout.js

Knockout is a JavaScript library that helps you to create rich, responsive display and editor user interfaces with a clean underlying data model. Any time you have sections of UI that update dynamically (e.g., changing depending on the user’s actions or when an external data source changes), KO can help you implement it more simply and maintainably.

PureMVC

PureMVC is a lightweight framework for creating applications based upon the classic Model, View and Controller concept. Based upon proven design patterns, this free, open source framework which was originally implemented in the ActionScript 3 language for use with Adobe Flex, Flash and AIR

Sammy.js is a tiny JavaScript framework developed to ease the pain and provide a basic structure for developing JavaScript applications.Sammy tries to achieve this by providing a small ‘core’ framework and an ever-growing list of plugins for specific functionality. The core includes a simple API for defining applications which are made up primarily of routes and events. By driving application development around a small and specific API, Sammy attempts to keep your code organized while still allowing a lot of breathing room to define your own style and structure.

Spine

Spine is a lightweight framework for building JavaScript web applications. Spine gives you an MVC structure and then gets out of your way, allowing you to concentrate on the fun stuff, building awesome web applications.

TrimJunction

The open source Junction framework is a conventions-over-configuration, synchronizing web MVC framework for JavaScript.

qooxdoo

qooxdoo is a universal JavaScript framework that enables you to create applications for a wide range of platforms. With its object-oriented programming model you build rich, interactive applications (RIAs), native-like apps for mobile devices, light-weight traditional web applications or even applications to run outside the browser.

  • http://blog.mayflower.de/archives/813-14.12.-Backbone-VS-Knockout-VS-JavaScriptMVC.html
  • http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/
  • http://webification.com/tag/spine-knockout-backbone
  • http://stackoverflow.com/questions/5149480/backbonejs-vs-javascriptmvc-vs-knockoutjs
  • http://programmers.stackexchange.com/questions/122507/where-does-jquery-fit-in-with-frameworks-like-javascriptmvc-backbonejs-sproutc
  • https://makandracards.com/makandra/6329-high-level-javascript-frameworks-backbone-vs-ember-vs-knockout
  • http://www.html5libs.com/packages/p/activejs/
  • http://microjs.com
  • http://engineering.linkedin.com/frontend/client-side-templating-throwdown-mustache-handlebars-dustjs-and-more
  • http://paulhammant.com/2012/02/13/client-side-mvc-frameworks-compared/
  • http://neverfriday.com/?q=blog/licenses-top-12-javascript-mvc-frameworks-reviewed

avatar

About Farid

Creative web developer/designer, big fan of HTML5, CSS3 and client-side development. Lead software developer at Allegra Strategies London.

  • sj

    Thanks for construction this list!

  • smason

    Great collection!

  • tbo

    Qooxdoo has no dependencies!

  • http://www.faridesign.net/ Farid Hayati

    Thank you for correcting

  • http://blog.manishchhabra.com Manish Chhabra

    Angular is only 1Kb ?

  • http://www.faridesign.net/ Farid Hayati

    It’s about 29KB,

    Thanks

  • e_peter

    What about Dojo?

  • Maxim T

    Hi.
    there’s recently added one more framework jRIApp, specially designed to build LOB applications in Silverlight with WCF RIA services style. It is based on MVVM pattern and also has data service part. It is published under MIT license on GitHub. You can watch demo on youtube http://www.youtube.com/watch?v=CxWcC2O8u-k&feature=youtu.be

  • Akash Kava

    Please include Web Atoms JS in the list. http://webatomsjs.neurospeech.com