BT
x Your opinion matters! Please fill in the InfoQ Survey about your reading habits!

Top JavaScript MVC Frameworks

by Dio Synodinos on Feb 05, 2013 |

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.

 

 

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Dojo is missing from the list. by Sam Beggins

This is strange, but Dojo is missing from this list of JavaScript MVC frameworks, although it is nice and powerful framework.
Provides everything you need to build and maintain a complex single-page WebApp, without need to build a Frankenstein of 10+ frameworks/libraries to get things working.

Isomorphic SmartClient is missing from the list by Fernando Olcoz

Since Sencha's ExtJS is included in the list I think SmartClient should also be present. There is a discussion/comparison of both frameworks in StackOverflow: stackoverflow.com/questions/5476316/smart-clien...

YUI 3.x is missing from the list by kenjiru kun

I don't know if it qualifies for your definition of a MVC framework, but we're using YUI 3.x in a MVC way in our application.

We're really happy with it so far, although it lacks some features you see in other frameworks. I'm talking about things like two way data binding and template compilation. But it's a very solid framework with a really nice system for module declaration/dependencies/loading among other things.

Login requirement total B.S. by Oyku Gencay

Are you kidding? What the heck is "identify yourself?" I'm a registered user and I find this offensive.

dojo not on the list? by To Sonny

Odd that dojo is not on the list. It is one of the better javascript frameworks out there.

durandaljs by Jone Polvora

Durandal Js is missing from this list

Re: Login requirement total B.S. by Charles Cherry

I agree - I've already registered and logged in to InfoQ, why should I have to authenticate AGAIN in order to vote?

Wow! Pretty embarrassing when your JS voting UI device doesn't work.... by James Drucza

on the latest version of a modern browser (Chrome) for a question related to a significant JS subject. lol

Re: Wow! Pretty embarrassing when your JS voting UI device doesn't work.... by john gordon

on the latest version of a modern browser (Chrome) for a question related to a significant JS subject. lol


Agreed! Latest Safari and Chrome -- FAIL.

Re: Wow! Pretty embarrassing when your JS voting UI device doesn't work.... by john gordon

Uncaught TypeError: Object function (e,t){return new v.fn.init(e,t,n)} has no method 'curCSS'

Is there any relation to app development? by arjan pot

How do these frameworks relate web to app development in html5/css/js? What can it do in a platform like PhoneGap.

It would be nice to have a website framework that also fits app development.

PureMVC is also missing from the list. by Tony DeFusco

PureMVC is a very-small footprint MVC framework for writing better JavaScript-based web applications: PureMVC JavaScript MultiCore Framework

Find more about PureMVC at PureMvc.org and check out the official developer's guide published by O'Reilly Books.

JavaScript MVC by Dean Vaughan

Here is a tiny MVC library based of just a few files which is easily extensible with a very small footprint.

github.com/deanvaughan/Simple-Javascript-MVC

Alternative js framework by Vlad Kopachinsky

We have our framework www.incframework.com.

Why MVC by Dino Seelig

HTML is used for content description. JS is used for the dynamics just add a event listener. CSS is used for presentation. The split between content, presentation and dynamics is already a fact. Just isolate the 3 area's html, css, javascript.
I played a little bit with backbone and anguarjs. Sorry i was not impressed at all. The best way imhop when you need to replace html fragements are simple xml/xslt transformations. A MVC technique that works on the server programming e.g. php, asp, jps, and in client programming js.

izi.js by Kris Karczmarczyk

Take a look at izi - it's gives things needed to get JS to the enterprise.

Your Decidify sh*tty login is broken by marc prades

Your Decidify sh*tty login is broken . so i wont vote. Please think usuabilty first when you add a functionality. You are supposed to promote good practices not bad ones.

Re: Dojo is missing from the list. by Diego Visentin

+1

Re: Dojo is missing from the list. by Abhay Bakshi

+1 from my side too. There could be a reason why Dojo is missing in the list, and we need to find the reason.

Re: dojo not on the list? by Abhay Bakshi

Ah, yes. Please see my comment above. Thanks.

Re: Your Decidify sh*tty login is broken by Abhay Bakshi

Although I have no part in the broken login logic in this case, Marc Prades, I am sorry for the experience you're having. However, I promote and like all the many services that InfoQ provides to its community. I too wish I lived in a perfect world.

Re: YUI 3.x is missing from the list by Robert Sullivan

Definitely agree. It may not be perfect, but it is one of the most proven frameworks out there. A few other nice things (besides its use at Yahoo)
  • it is nicely designed
  • tested thoroughly across the major browsers
  • documentation is very solid

    DHTMLX is missing by Paul Lazarev

    Since Ext JS and Smartclient are mentioned in comments, I think DHTMLX is worth to be listed as well. It has one of the richest set of UI widgets, visual designer tool, and server-side connectors.

    unprofessional ..:facepalm: by levancho d

    where is, YUI, dojo, dhtmlx etc ... in the list?

    Re: Wow! Pretty embarrassing when your JS voting UI device doesn't work.... by levancho d

    or maybe latest QA + dev team fail.

    Missing Durandal and Meteor by Jaroslaw Zabiello

    I don't think all those frameworks are the top 10. Why you do not have quite popular Meteor (meteor.com) on that list. And you mention Knockout, but... it is not a full blown framework like Ember or Angular or (not mentioned here) Durandal (durandaljs.com/) which combines KnockoutJS and RequireJS into one, modular, full blown framework.

    JavaScript MVC Frameworks Resource by zane zane

    This is a good list of mvc js frameworks. Here is another great resource that tells you EVERYTHING about the all the popular JavaScript frameworks. IE, Databindings, templates, data storage, dependencies, tutorials, etc.... all in one spot!
    www.zannr.com/javascript-frameworks.html

    Durandal is a glaring omission by J. Merrill

    It provides most of what Angular provides but in a more open, more standards-based way (by using existing libraries like jQuery, Knockout and RequireJS).

    Close but no cigar... by Jeff Papineau

    Problems with this list:
    1) Many great JS frameworks not on this list: Dojo, Smartclient, Wijmo(!), YUI, Bootstrap (!), jQueryUI, Sencha Touch, jQuery Mobile.
    2) No differentiation between Mobile, Desktop, MobTop (both combined in 1) framework focus. Also could mention Titanium and PhoneGap for hybrid apps.
    3) No mention what licensing issues are involved for the commercial products on this list, vs MIT and various other licenses.

    Last, most users just vote for whatever they are familiar with, while they may not really be familiar with more than 1 or 2 of the frameworks on this list. So then it's a popularity contest, and that tends to run toward the mundane and easy to use, but doesn't address what frameworks are good as tools for which type of web app or site.

    Thus, I think this is an interesting excersize but not really very informative. I don't think the authors are informed enough to really be any kind of authority, and neither are the readers..

    JS2DX - JavaScript Library API by Sergei Sheinin

    I am a developer of JS2DX - a JavaScript Library-independent API. It enables programmers to create multi-component Web GUI pages with one compact key-value object. This API offers uniform programming approach to various JS libraries with simplified code and minimized verbosity. More at js2dx.com

    Re: Dojo is missing from the list. by Tony Brown

    It's also a dinosaur, not too many people use Dojo anymore?

    Re: Login requirement total B.S. by Jean-Jacques Dubray

    I'll second that, not to mention that you can't access the results if you don't vote, what if you feel you can't really vote on the question?

    Where is the ReactJS? by Andrey Lapin

    ReactJS is popular too.

    Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

    Email me replies to any of my messages in this thread

    Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

    Email me replies to any of my messages in this thread

    33 Discuss
    General Feedback
    Bugs
    Advertising
    Editorial
    InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
    Privacy policy
    BT