Comparative analysis of 12 COMMON JavaScript MVC frameworks

  • 2020-11-03 21:59:51
  • OfStack

This article details the 12 MVC frameworks commonly used by JavaScript. To share for your reference, the details are as follows:

Gordon L. Hempton, a hacker and designer based in Seattle, spent months researching and comparing 12 popular JavaScript MVC frameworks, and summed up the pros and cons of each in a blog post. The winner is Ember.js.

There are four feature criteria for this comparison, namely:

UI binding (UI Bindings)
Composite view (Composed Views)
Web presentation layer (Web Presentation)
Good collaboration with other frameworks (Plays Nicely with Others)

For the various JavaScript MVC frameworks, Gordon summarizes the pros and cons:

1. Backbone.js -- Advantages: strong community, strong momentum; Cons: Weak abstraction, lots of features to add.

SproutCore -- Benefits: binding support, reliable community, lots of features; Cons: Over-specification, difficult to decouple from unwanted features.

3. Sammy.js -- Advantages: easy to learn and easier to integrate with existing server-side applications; Cons: Too simple to be used in large applications.

4. Spine.js -- Pros: Lightweight, well-documented; Cons: Its core concept, "spine," is an asynchronous user interface, which means that ideally the user interface will never jam, and this foundation is flawed.

5. Cappuccino -- Benefits: large well-thought-out framework, good community, great inheritance model; Disadvantages: Created by iOS developer, JavaScript emulates ES58en-ES59en.

6. Knockout.js -- Advantages: binding support, complete documentation and tutorials; Disadvantages: poor binding syntax, lack of unity 1 view component hierarchy.

7. Javascript MVC -- Advantages: Reliable community; Cons: The string-based inheritance model is poor, and the controller is too tightly bound to the view.

8. GWT (Google Web Toolkit) -- Advantages: comprehensive framework, good community, reliable component inheritance model based on Java; Cons: May not stand the test of time, plus the Java abstraction on the client side is a bit clunky.

Google Closure -- Advantages: Nice component-based UI composite system. Cons: Lack of UI binding support.

10. Ember.js -- Advantages: rich template system with composite view and UI binding; Cons: Relatively new, documentation incomplete.

11. Angular.js -- Advantages: good consideration for template scope and controller design, dependency injection system, rich UI binding syntax. Cons: The code is not modular and the view is not modular enough.

12. Batman.js -- Advantages: clear code, simple binding and persistence method; Disadvantages: Singleton controller is used.

After comparing the features of various Javascript MVC frameworks above, Gordon believes that only ES101en. js can fully meet his requirements, thus becoming the framework he finally chooses.

Have you used any of the JavaScript MVC frameworks? Welcome to the discussion.

I hope this article has been helpful in JavaScript programming.


Related articles: