Vue作为一款今朝最风行的前端框架之一,是很多前端开拓工程师的不二选择。最近我在前端岗亭上也运用Vue实现了几款产物,那么本日来分享一下Vue是什么,以及我对Vue的看法。
一、界说Vue是一套用于构建用户界面的渐进式JavaScript框架
与传统JS和JQuery框架差异,Vue的渐进式框架暗示开拓者可以由简朴组件写起,徐徐搭建出一个巨大的前端平台。
形成Vue渐进式框架的焦点观念为:组件化,MVVM,响应式,和生命周期,下面会一个个具体先容。
Vue将构成一个页面的HTML,CSS和JS归并到一个组件中,可以被其他组件或页面引入而反复操作。凡是每个.Vue文件作为一个组件导出,组件可以作为基本组件(如按钮)或一个页面(如登录页面)。组件化很好的将一个复杂巨大的前端工程拆分为一个个组件,反复操作的性质也大大提高了开拓的效率。
2. MVVM 数据双向绑定MVVM模式(全称为Model-View-ViewModel)为Vue实现数据双向绑定。在MVVM中,View为视图层,ViewModel为业务逻辑层,Model为数据层。
什么是数据双向绑定呢?当用户使View变革时(如填写表单),变革会自动同步到ViewModel处理惩罚相应逻辑,并将变革更新到Model数据库。反之,若处事端数据变革(如股价颠簸),变革会自动同步到ViewModel处理惩罚相应逻辑,并将变革同步到View揭示给用户。
在用Vue之前,我完成HTML和JS之间的交互需要利用大量的DOM操纵来实现动态加载。MVVM的数据双向绑定淘汰了DOM操纵,更高效地实现了视图和数据的交互。同时,MVVM使界面、交互和数据层疏散,便于设计人员认真设计界面,后端开拓人员提供数据接口,而前端开拓人员专注于业务交互逻辑的实现。
3. 响应式 虚拟DOM对付DOM来说,当HTML的一个元素(如div)需要响应数据变动时,会刷新整个页面,导致效率堪忧。对付虚拟DOM,欣赏器会将HTML文件转换为JS文件并复制一个特别利用(虚拟)。对付任何变动,虚拟DOM都将复制的JS与原始JS举办较量,只从头加载变动的部门,局部修改到真实DOM上。
在Vue中,每个绑定data属性的组件都有一个Watcher检测data属性的变革。一旦检测到改变,则从头渲染该组件,这就是响应式。
4. 生命周期最后,每个Vue组件都有生命周期,进程为建设 -> 挂载 -> 更新 -> 销毁。开拓者可以通过钩子函数(如mounted)在组件生命周期中的差异时刻举办操纵。下面是一张Vue生命周期的完整图解。
三、Vue的优缺点讲完Vue的几个焦点观念后,总结一下利用Vue框架给前端开拓带来的优缺点:
利益1. 轻量级
Vue作为一款轻量级前端框架,巨细只有18–21KB,工程搭建简朴,只需要几行呼吁符。因为Vue利用的主体语言为JS,开拓者可以机动地将其他框架(如React和Angular)的项目迁移到Vue,具有很高的集成本领。Vue提供的router路由可以便捷地搭建一个多界面应用。
2. 高机能
虚拟DOM和响应式制止了不须要的全局从头渲染,晋升了用户体验,利用户操纵越发流通。
3. 好上手
与面向工具编程性质雷同,组件化更切合人类思维。打个例如,我们在设计网页时,凡是会把一个界面分成一块一块的、用于某成果的特定样式模块。Vue的组件化使前端开拓越发容易领略,同时MVVM可以更便捷地实现交互,对新手十分友好。
4. 插件化
由于Vue框架的风行性,今朝有很多基于Vue的npm扩展包和开拓东西(如Vuex)。Vue可以在一个文件下统一打点所有外部插件的全局利用。
5. 便于测试
组件化利于开拓者对付单一组件举办测试,很少产生在整个页面下找不到是哪个处所报错的环境。
缺点1. 生态情况不足完善
固然Vue五年以来的成长寻索,生态情况不如React和Angular类型。Vue开拓的接头社区较小。
2. 海外市场小
Vue是由中国尤大神开拓的,主要有阿里巴巴、饿了么等海内大公司作为主流框架,海外大部门利用React和Angular。