As more and more logic ends up being executed in the browser, JavaScript front-end codebases grow larger and more difficult to maintain. As a way to solve this issue developers have been turning to MVC frameworks which promise increased productivity and maintainable code. As part of the new community-driven research initiative, InfoQ is examining the adoption of such frameworks and libraries by developers.

Backbone.js: Provides models with key-value binding and custom events, collections, and connects it all to your existing API over a RESTful JSON interface.

AngularJS: A toolset based on extending the HTML vocabulary for your application.

Ember.js: Provides template written in the Handlebars templating language, views, controllers, models and a router.

Knockout: Aims to simplify JavaScript UIs by applying the Model-View-View Model (MVVM) pattern.

Agility.js: Aims to let developers write maintainable and reusable browser code without the verbose or infrastructural overhead found in other MVC libraries.

CanJS: Focuses on striking a balance between size, ease of use, safety, speed and flexibility.

Spine: A lightweight framework that strives to have the most friendly documentation for any JavaScript framework available.

Maria: Based on the original MVC flavor as it was used in Smalltalk - aka "the Gang of Four MVC".

ExtJS: Amongst other things offers plugin-free charting, and modern UI widgets.

Sammy.js: A small JavaScript framework developed to provide a basic structure for developing JavaScript applications.

Stapes.js: A tiny framework that aims to be easy to fit in an existing codebase, and because of its size it's suitable for mobile development.

Epitome: Epitome is a MVC* (MVP) framework for MooTools.

soma.js: Tries help developers to write loosely-coupled applications to increase scalability and maintainability.

PlastronJS: MVC framework for Closure Library and Closure Compiler.

rAppid.js: Lets you encapsulate complexity into components which can be easy used like HTML elements in your application.

Serenade.js: Tries to follow the ideas of classical MVC than competing frameworks.

Kendo UI: Combines jQuery-based widgets, an MVVM framework, themes, templates, and more.