说到后端的架构,现阶段非主流最畅销五大架构莫归属于Vue、Angular、React。但在直面90%的小企业为何会优先选择采用vue呢?
【vue究竟是甚么呢】
具体来说Vue.js是两个小巧、高效能、可模块化的MVVM库,与此同时保有极难入门的API。
MVVM分成三部份:View(网页DOM)、ViewModel(监视者)、Model(统计数据)
因此具体内容来说:Vue.js是两个构筑统计数据驱动力的控制系统 web 介面的渐进架构。Vue.js 最终目标是透过尽量单纯地与此同时实现 API 与此同时实现积极响应的统计数据存取和女团的快照模块。核心经营理念是两个积极响应的统计数据存取控制系统。
【Vue具体内容的特征和缺点有甚么样呢】
vue三大特征:积极响应式程式设计、模块化
响应式程式设计:在采用 Vue 与此同时实现 SPA,积极响应式程式设计是两套最核心经营理念的经营理念,整座控制系统依照统计数据第一类对网页展开逆向图形,让公交站点防止内部结构纷乱的难题。
模块化:两个公交站点由不同的多个模块组成, 当统计数据发生变化,最小颗粒的更新变化的部份,不会整座网页发生变化,从而大大提高了性能。与此同时每个模块都有自己独立的CSS、JS、模板(可理解为就是我们所熟悉的html)
vue的优势
轻量级的架构+指令:它透过双向统计数据存取把 View 层和 Model 层连接了起来.实际的DOM封装和输出。
双向统计数据存取:当统计数据发生变化的时候,快照也就发生变化,当快照发生变化的时候,统计数据也会跟着同步变化。
模块化开发:就是把网页拆分成多个模块,每个模块依赖的 CSS、JS、模板、图片等资源放在一起开发和维护。
单网页路由:单页是把原本的多个网页以模块的形式集成在两个网页中,网页跳转时由vue路由到最终目标网页,分别加载不同的模块,而网页不会刷新,路由在更新
虚拟dom:在Vue的底层与此同时实现上, Vue将模板编译成虚拟DOM图形函数。结合Vue自带的积极响应控制系统,在状态改变时 ,Vue能够智能地计算出重新图形模块的最小代价并应到DOM操作上。
渐进架构:用你想用或者能用的功能特性,不想用的部份功能可以先不用,来完成两个开发。
统计数据和内部结构的分离:最小粒度更新,vue每次更新会展开虚拟dom和屏幕已有dom对比,只更新有变化的部份,性能更高
插件化:插件的功能范围没有严格的限制,满足大多插件可以和vue配合一起采用。
【Vue的缺点有甚么样呢】
但并不是vue.js 只有缺点,而没有缺点,任何东西都没有十全十美的东西!
支持IE8以下
社区可能没有Angular和React那么丰富
Vue 不缺入门教程,可是很缺乏高阶教程与文档。同样的还有书籍
因为是单网页应用,不利于seo优化
初次加载时耗时多
【vue与Angular、React的异同】
为何在90%企业优先选择vue.js,而不是Angular和React呢?
具体来说vue.js作者尤雨溪在开发vue.js的时候,不光借鉴了Angular和React的优势,与此同时还保留开发了自己独有的缺点!快效地完成两个项目的开发,节约成本,这无疑对于小企业来讲是一大福利,节省了项目开发的周期以及开发成本!
那么我们来看一下vue 与 Angular和React究竟有甚么样相同点和不同点呢?
与Angular.js相比:
相同点
1、都支持指令,内部指令和自定义指令
2、都支持过滤器,内置过滤器和自定义过滤器
3、都支持双向存取
4、都不支持低端浏览器
不同点
1、Angular学习成本高,增加了依赖注入,Vue本身提供的API比较单纯,直观
2、在性能上,Angular依赖对统计数据做脏检查,因此watcher越多越慢
与React.js相比:
相同点
1、React采用了JSX语法,Vue也可采用特殊文件格式
2、都不内置Ajax,Router等功能的核心经营理念包,而是以插件的形式加载
3、在模块开发中都支持mixins的特性
4、利用虚拟DOM与此同时实现快速图形
不同点
1、vue在模板中提供了指令,过滤器等,可以非常方便地操作DOM
2、图形过程不同
3、vue实现了统计数据的双向存取,react统计数据流动是单向的