BT

InfoQ Homepage Research Top JavaScript MVC Frameworks

Top JavaScript MVC Frameworks

Bookmarks

InfoQ's research widget has been deprecated. It should continue to work however, and we hope to relaunch it at some point in the future.

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.

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

Community comments

  • Dojo is missing from the list.

    by Sam Beggins /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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 /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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 /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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 /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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 Sonny To /

    Your message is awaiting moderation. Thank you for participating in the discussion.

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

  • durandaljs

    by Jone Polvora /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Durandal Js is missing from this list

  • Re: Login requirement total B.S.

    by Charles Cherry /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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 /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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 /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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 /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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 /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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 Anthony DeFusco /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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 /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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 /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    We have our framework www.incframework.com.

  • Why MVC

    by Dino Seelig /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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.

  • Your message is awaiting moderation. Thank you for participating in the discussion.

    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 message is awaiting moderation. Thank you for participating in the discussion.

    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 /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    +1

  • Re: Dojo is missing from the list.

    by Abhay Bakshi /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    +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 /

    Your message is awaiting moderation. Thank you for participating in the discussion.

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

  • Re: Your Decidify sh*tty login is broken

    by Abhay Bakshi /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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 /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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 /

      Your message is awaiting moderation. Thank you for participating in the discussion.

      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 /

      Your message is awaiting moderation. Thank you for participating in the discussion.

      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 /

      Your message is awaiting moderation. Thank you for participating in the discussion.

      or maybe latest QA + dev team fail.

    • Missing Durandal and Meteor

      by Jaroslaw Zabiello /

      Your message is awaiting moderation. Thank you for participating in the discussion.

      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 shane apki /

      Your message is awaiting moderation. Thank you for participating in the discussion.

      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 /

      Your message is awaiting moderation. Thank you for participating in the discussion.

      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 /

      Your message is awaiting moderation. Thank you for participating in the discussion.

      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 /

      Your message is awaiting moderation. Thank you for participating in the discussion.

      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 /

      Your message is awaiting moderation. Thank you for participating in the discussion.

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

    • Re: Login requirement total B.S.

      by Jean-Jacques Dubray /

      Your message is awaiting moderation. Thank you for participating in the discussion.

      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 /

      Your message is awaiting moderation. Thank you for participating in the discussion.

      ReactJS is popular too.

    • Awesome

      by prathap gym /

      Your message is awaiting moderation. Thank you for participating in the discussion.

      Great List. I think few important MVC are missing.


      javascripttrainingcourses.com/

    • List needs to include an HTML injection framework

      by Matthew Keller /

      Your message is awaiting moderation. Thank you for participating in the discussion.

      This ist needs to include an HTML injection framework like WebRocketX www.webrocketx.com

    • Top JavaScript MVC Frameworks

      by Constantine Harper /

      Your message is awaiting moderation. Thank you for participating in the discussion.

      Thank you for this article.
      But what about node.js and sails.js? I think they are very popular too. One more article on this theme: codetiburon.com/how-to-mvc-with-io-js-sails-js/

    • Backbone.js

      by Mobilunity Com /

      Your message is awaiting moderation. Thank you for participating in the discussion.

      For those who are interested in Backbone, you can check out an article about it, its popularity and more. Interested in how popular React, Angular and Backbone are? I can note that Backbone is a great framework and you should totally check it out:
      mobilunity.com/blog/is-it-worth-hiring-a-backbo...

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

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

    BT

    Is your profile up-to-date? Please take a moment to review and update.

    Note: If updating/changing your email, a validation request will be sent

    Company name:
    Company role:
    Company size:
    Country/Zone:
    State/Province/Region:
    You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.