A variety of excellent JS MVC framework Comparison

Source: Internet
Author: User

as previously said, product production has a functional era into the experience era, products for the king, Experience for the king, is the trend of the times. Experience the arrival of the economy, the front end of the technical requirements are more and more high, the completion of the function is not, but also have a good experience.
so similar to the original jquery era is similar to the traditional assembly or C-era programming, this stage is no work. The front-end technology is about to enter the paradigm era, the MVC era. In this context, there are a number of front-end MVC framework technologies that are constantly emerging. Below we select several representative front-end frameworks for comparison, for reference.
1. Backbone.js




Backbone.js is a web-burning framework, and many well-known brands support the framework, which is impressive and naturally the first to try. It was used to build a group talent feature application with administrative functions inside.




Pros: A strong community, and a lot of strength to support. For example, it uses the Underscore.js (also a powerful framework) in its own right.




Cons: Abstract functionality is not strong enough, and some of the required features are not yet implemented. The entire framework is lightweight, and the result is a whole bunch of reference files and templates: And the bigger the size of the application, the more obvious it will be.




2. SproutCore 1.x




Sproutcore was first used by Apple for its icloud. In addition to the very bad name, it is actually a very good framework and one of the biggest frameworks.




Pros: Support bindings, loyal Community fans, excellent feature a lot.




Cons: Too rigid, difficult to remove useless feature, forced to use a native style paradigm, the serious situation is that the framework does not allow the use of HTML layout.




3. Sammy.js




Sammy is a relatively small framework that is accidentally discovered because it is too simplified to occupy a list of seats. Its core feature is a routing system that allows applications to be exchanged with Ajax.




Pros: Simple learning curve that is easier to integrate with server-side apps.




Cons: Too simplistic for large applications.




4. Spine.js




as its name, spine is obviously strongly influenced by backbone, like backbone is also a very lightweight framework that follows similar models.




Pros: Lightweight, documentation is well done.




Cons: Fundamentally flawed. A core concept of spine is "a bunch of asynchronous UI sets in a nut shell, which means that the UI should never be blocked under idealized conditions." After doing a series of non-blocking real-time applications, it can be said that this is simply unrealistic, unless the backend is like operational transformation.




5. Cappuccino




Cappuccino is a more unique framework, with its own programming language objective-j, and attempts to emulate cocoa in a browser.




Pros: Large-scale conceived framework, good community environment, strong inheritance model.




Cons: Objective-c is the last thing you want in any language you can emulate with JavaScript. It originated with an iOS developer who has not yet figured out what it means to write objective-j in a browser.




6. Knockout.js




K.O. is an MVVM framework that is heavily praised by its supporters. It emphasizes declarative UI bindings and automatic UI refreshes.




Pros: Support bindings, excellent documentation, and a great guide system.




Cons: The binding syntax is obscure and lacks a solid view component hierarchy. It is desirable to be able to reuse components easily and feel that it is harmful to define an MVVM framework. There is basically no MVC in these frameworks, but they are variants of (MVP,MVVM and the like).




7. Breeze Js




made, a set of independent self-developed front-end MVC framework. His concept is interesting, that is, the back-end development language, such as Java, the concept of simulation application to the front end. There are classes with inheritance that can implement templates and application bindings.








Advantages: Concept simulation, low learning cost, quick to get started. Very thin package, good extensibility and compatibility






Cons: Relatively few related components and third-party resources, relying on jquery and Seajs






8. Google Web Toolkit




GWT is a series of client-side toolkits that contain many other tools besides the framework. It can compile the Java language into JavaScript and support a subset of the standard Java libraries, originally used by Google on wave.




Pros: A broad framework with strong community support. Java-based robust component inheritance model that excels in jumbo client applications.




Cons: In addition to what Google says, GWT will not be tested for time. As in the initial dart, it is clear that Java is not the future of the Web. More seriously, the client's abstraction of Java is a bit inappropriate.




9. Google Closure




If Google closure is just a JS framework, it's more like a toolkit. Comes with compilers and optimizers.




Pros: Google is used in many of its mainstream apps. A good component-based UI authoring system.




disadvantage: UI bindings are not supported.




Ten. Ember.js




Ember (previously Sproutcore 2.0) was a competitor of the new Ding. It is an attempt to extract the core feature from SproutCore2.0 and transform it into a more compact model framework that is more suitable for the web.




Pros: A particularly rich templating system with customizable views and UI bindings.




Cons: The document can't keep up because it's too new.




angular.js.




angular is a good framework that was discovered after the evaluation was released, developed by Googler, and contains many interesting design options.




Pros: The scope of the template and the design of the controller are considered very thoughtful. has a dependency injection system. Rich UI binding syntax is supported, which makes filtering and converting work less expensive.




Cons: code base is not sound, and is not enough modular. Views are not modular enough (more on this in Batman.js's flaws)




batman.js.




Batman, created by Shopify, is another framework that has a similar context to knockout and angular. Batman has a good UI binding system, which is based on HTML attributes. Batman is the only framework written using the idiomatic syntax coffeescript, and is tightly integrated with node. JS, even to the extent that it has the (optional) node. JS Server.




Advantages: The code base is very clear, the binding method is good and simple, durable, process.




Cons: I don't like the "maverick" style, let alone the idea of stepping up a single controller. Like knockout and angular, they suffer the same torture when nesting components. More than just templates, you want declarative, reusable template frameworks. In contrast, Ember has a way of declarative reuse based on the entire set of components that ember their own logic (which may be on the controller layer).

A variety of excellent JS MVC framework Comparison

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.