Home > MV* frameworks > Best MV* frameworks of 2024

Best MV* frameworks of 2024

MV* frameworks (1 - 5)
AngularJSReactEmber JSBackbone JSRactive JSCanJSKnockout JSbatman jsrAppid JSSproutCore
Image
AngularJS
React
Ember JS
Backbone JS
Ractive JS
CanJS
Knockout JS
batman js
rAppid JS
SproutCore
General info
Automatic view filteringHas a mechanism to filter views based on scope variables (for example when searching) without the need to write much extra code.
Automatic view filteringHas a mechanism to filter views based on scope variables (for example when searching) without the need to write much extra code.
Templating engineTemplate engines allow for easy and flexible UI building.
Templating engineTemplate engines allow for easy and flexible UI building.
Extends HTMLSome people see this as an advantage as it eliminates the overhead from another template language.
Extends HTMLSome people see this as an advantage as it eliminates the overhead from another template language.
Published under MIT LicenseThe MIT License is a very permissive license which allows all uses, including business use, without warranty.
Published under MIT LicenseThe MIT License is a very permissive license which allows all uses, including business use, without warranty.
Integrates with other MV* FrameworksCan be used to replace a part of another framework without removing the remaining features.
Integrates with other MV* FrameworksCan be used to replace a part of another framework without removing the remaining features.
Total score for "General info"
Total score for "General info"
Plugins
Plugin to support animationHas a plugin which includes facilities to easily create view animations.
Plugin to support animationHas a plugin which includes facilities to easily create view animations.
Number of pluginsPlugins offer an easy way to extend the functionality or integrate with other services. A high number of plugins may indicate an active community of users. Only official plugins are taken into account.
Number of pluginsPlugins offer an easy way to extend the functionality or integrate with other services. A high number of plugins may indicate an active community of users. Only official plugins are taken into account.213
N.A.N.A.153
N.A.7
33
N.A.N.A.N.A.
Dedicated plugin sourceThis shows that the framework has a living ecosystem, large community support and allows for more flexibility and faster development.
Dedicated plugin sourceThis shows that the framework has a living ecosystem, large community support and allows for more flexibility and faster development.
Built-in RESTful sync abstraction for modelsIncludes utilities to keep models in sync with their server-side representation without the need of writing jQuery boilerplate ajax calls.
Built-in RESTful sync abstraction for modelsIncludes utilities to keep models in sync with their server-side representation without the need of writing jQuery boilerplate ajax calls.
Animation supportIncludes facilities to easily create view animations.
Animation supportIncludes facilities to easily create view animations.
Total score for "Plugins"
Total score for "Plugins"
Libraries & Packages
DOM manipulation library agnosticDoes not require or seriously encourage the use of a specific library (like jQuery, Zepto or MooTools) to handle DOM manipulation and can be used with one the developer prefers.
DOM manipulation library agnosticDoes not require or seriously encourage the use of a specific library (like jQuery, Zepto or MooTools) to handle DOM manipulation and can be used with one the developer prefers.
Compatibility with AMD libraries such as Require.jsAsynchronous Module Definition libraries allow for easy modular, clean programming. If a framework does not work well with such libraries, it might have some other means to modularize its components and resolve dependencies, like Dependency Injection.
Compatibility with AMD libraries such as Require.jsAsynchronous Module Definition libraries allow for easy modular, clean programming. If a framework does not work well with such libraries, it might have some other means to modularize its components and resolve dependencies, like Dependency Injection.
Bower dependency management supportBower is an easy-to-use, npm-like package manager for frontend apps.
Bower dependency management supportBower is an easy-to-use, npm-like package manager for frontend apps.
Official entry in the npm package managerThe node package manager can also be used for managing front end scripts.
Official entry in the npm package managerThe node package manager can also be used for managing front end scripts.
JQuery Lite includedUses jQuery Lite elements where DOM manipulation is necessary. This way, developers get jQuery’s comfortable helper functions without having to include the entire library. In many use cases, this eliminates the project’s dependency on jQuery.
JQuery Lite includedUses jQuery Lite elements where DOM manipulation is necessary. This way, developers get jQuery’s comfortable helper functions without having to include the entire library. In many use cases, this eliminates the project’s dependency on jQuery.
Total score for "Libraries & Packages"
Total score for "Libraries & Packages"
Data binding
Two-way data bindingModels and views can be bound to update each other.
Two-way data bindingModels and views can be bound to update each other.
One-way data bindingViews can be bound to update automatically when an observable object changes.
One-way data bindingViews can be bound to update automatically when an observable object changes.
Models are plain JavaScript objectsThis makes for easier data transfer between the app and REST Services or the LocalStorage. It also reduces complexity from getter and setter functions.
Models are plain JavaScript objectsThis makes for easier data transfer between the app and REST Services or the LocalStorage. It also reduces complexity from getter and setter functions.
Use of view mixins allowedMixins are a programming technique that allows different objects to share common behaviour without the need for object-oriented inheritance.
Use of view mixins allowedMixins are a programming technique that allows different objects to share common behaviour without the need for object-oriented inheritance.
Plugin extension for two-way databinding availableCan be extend to support models and views updating each other. This adds more filesize but allows for more flexibility.
Plugin extension for two-way databinding availableCan be extend to support models and views updating each other. This adds more filesize but allows for more flexibility.
Total score for "Data binding"
Total score for "Data binding"
Performance
Minified file size without dependenciesSmaller file size means faster load times.
Minified file size without dependenciesSmaller file size means faster load times.81KB
78KB
235KB
19KB
65KB
69KB
43KB
247KB
120KB
N.A.
Routing and deep linking supportedRouting allows interaction with the browser url. This is very important for a good user experience if you are building one-page apps.
Routing and deep linking supportedRouting allows interaction with the browser url. This is very important for a good user experience if you are building one-page apps.
Promises/A+ implementationHas an internal implementation of the Promises/A+ specification. Promises are a popular alternative to callbacks when dealing with server responses.
Promises/A+ implementationHas an internal implementation of the Promises/A+ specification. Promises are a popular alternative to callbacks when dealing with server responses.
Templates can be pre-compiled on the serverSupports a template engine that can be pre-rendered on the server. This possibly improves page speed, especially on devices with low computing power.
Templates can be pre-compiled on the serverSupports a template engine that can be pre-rendered on the server. This possibly improves page speed, especially on devices with low computing power.
Dependency InjectionThis improves testability and modularity.
Dependency InjectionThis improves testability and modularity.
Total score for "Performance"
Total score for "Performance"
This page is currently only available in English.