The main content of this article is summarized with reference to the official documentation:
Vue.js
Vue.js @ A library written by Mr. You Yuxi for creating web interactive interfaces is a streamlined MVVM. From a technical point of view, Vue.js focuses on the ViewModel layer of the MVVM model. It connects the View layer and the Model layer through bidirectional data binding. The actual DOM encapsulation and output formats are abstracted for Directives and Filters. Vue.js is a small and beautiful library compared to other libraries. The author's main purpose is to generate reflective data binding and composable view components through a simple API. I feel that the author's idea is very clear.
advantage:
Simple: The official documentation is very clear, simpler and easier to learn than Angular.
Quick: Updating the DOM in asynchronous batch processing.
Combination: Combine your application with decoupled, reusable components.
Compact: ~18kb min+gzip, and has no dependencies.
Powerful: Expressions & computed properties that do not require declaring dependencies.
Module-friendly: It can be installed through NPM, Bower or Duo, and does not force all your code to follow the various Angular regulations, making the usage scenarios more flexible.
shortcoming:
Newborn: Vue.js is a new project, the 0.10.0 Release Candidate version released on March 20, 2014. Currently, the latest version on github is 0.11.4, which is not as mature as angular.
The impact is not very big: I Googled it and there are fewer Vue.js' diversity or richness than some other famous libraries.
IE8 is not supported: Haha, but AngularJS 1.3 also abandons support for IE8, but @微官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官网官� This is not good for projects that need to support IE8, but this is also a trend in web front-end development. For example, the low version of IE should exit the stage of history by changing our front-end thinking, rather than adapting to those who use the old version without upgrading. @德官网官网 said one thing, I think it is very good. "In the past few days, supporting IE6 and 7 has long been no longer a feature, but a shame. We strive to promote Alipay to completely not support IE6 and 7, and look forward to more brothers joining."
AngularJS
AngularJS has been very popular recently and has many followers. Superheroic JavaScript MVW Framework
The official said it simple: "Client technology written entirely in JavaScript. It is used in conjunction with other long-standing web technologies (HTML, CSS and JavaScript) to make web application development simpler and faster than before." When you learn it, I believe you will be attracted by many of its new special effects.
advantage:
Dynamic View: I never thought js could extend HTML attributes like this before, but AngularJs did it. It added a lot of extension functions to our static HTML, which makes HTML from death to life.
Perfect: It is a relatively complete front-end MVW framework, including templates, bidirectional data binding, routing, modularization, service, dependency injection and other functions. The templates are powerful and rich in functions, and are declarative, with rich Angular instructions.
Google Maintenance: AngularJS has Google to maintain, and undoubtedly has a strong backend. It has obvious advantages over Vue.js and avalon for promotion and maintenance. The community is also very lively and can promote its development well.
AngularJS & Ionic: Ionic: Advanced HTML5 Hybrid Mobile App Framework, these two are a good friend. Ionic uses AngularJS to create a framework that is most suitable for development of rich and powerful applications. Last time, I answered a related question on Zhihu to develop webapps. Which framework and packaged app platform are the best performance and efficiency? - Tang Wei's answer, please see here for details.
shortcoming:
Big and comprehensive: It is difficult to learn. For me, the learning curve is very tortuous and difficult to understand.
Overturn and rewrite: I visited the community some time ago and found that AngularJS2.0 would overturn and rewrite the previous overturn and rewrite. The two frameworks have changed a lot, basically two frameworks. It is equivalent to saying that you need to start from scratch after 2.0 comes out. But again, //www.VeVB.COM/article/79637.htm This article explains the changes in AngularJS2.0 very well.
It does not support IE8 or below. It seems that 2.0 has become only supported on mobile devices. Let's see it after it comes out.
Avalon.js
Avalon.js is a simple and easy-to-use mini MVVM framework written by @Situ Zhengmei. It was first published on 2012.09.15 and was developed to solve the existence of various views of the same business logic. You can often see that the teacher promotes his Avalon.js and has published many tutorials, which undoubtedly provides great convenience to people in China who study Avalon.js.
advantage
Simple to use, add bindings in HTML, define ViewModel in JS with avalon.define, and then call the avalon.scan method, and it will be able to move!
Compatible with IE6 (other MVVM frameworks, KnockoutJS(IE6), AngularJS(IE9), EmberJS(IE8), WinJS(IE9)), and avalon.mobile, which can run more efficiently in new version browsers such as IE10.
No dependencies, less than 5000 lines, less than 50KiB after compression
Supports pipeline character style filtering functions to facilitate formatting output
The granularity of local refresh has been refined to a text node, feature node
The node to be operated is bound to the view refresh function on the first scan and cached, so there is no room for selectors to appear.
Make the code of DOM operation almost extinct
Using CSS-like overlapping mechanism, let each ViewModel partition render pages alternately
When node is removed, intelligently uninstall the corresponding view refresh function to save memory
Operation data is to operate the DOM, and the operations on the ViewModel will be synchronized to the View and Model.
It comes with AMD module loader, so it can avoid integration with other loaders.
shortcoming
1. The filtering of arrays is not as good as angular. Avalon's filter can only be used for ms-text, ms-html
2. No English documents, publicity is restricted
3. OniUI's skin is not good-looking enough. Many people say they want to cooperate with boostrap, but no one in the community has taken the initiative to do this.