一,框架vue
首先vue是一款渐进式框架,对于渐进式框架也就是阶梯式向前的 。
vue是轻量级的,它有很多独立的功能或库,我们会根据我们的项目来选用vue的一些功能。就像我们开发项目时如果只用到vue的声明式渲染,我就只用vue的声明渲染,而我们要用他的组件系统,我们可以引用它的组件系统。
二,vue的核心
1.响应式数据绑定
当数据发生变化是,vue自动更新视图 。
这个原理是用了es6的 Object.definedProperty 中的setter/getter 代理数据,监控对数据的操作。
所以使用vue对浏览器是否兼容es6是非常要注意的
2.组合的视图组件
ui页面映射为组件书
划分组件可维护、可重用、可测试
三,虚拟DOM
对于频繁的操作dom树渲染数据,会让性能方面很受影响。
利用在内存中生成与真实DOM与之对应的数据结构,这个在内存中生成的结构称之为虚拟DOM。
当数据发生变化时,能够智能的计算出重新渲染组件的最小代价并应用到DOM操作上。vue就是利用了这一点。
四,对比其他框架-React
React 和 Vue 有许多相似之处,它们都有使用 Virtual DOM;提供了响应式(Reactive)和组件化(Composable)的视图组件。将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库。React 比 Vue 有更丰富的生态系统
相同之处
- 都有支持native的方案,React的RN,vue的Wee下
- 都支持SSR服务端渲染
- 都支持props进行父子组件间的通信
在性能方面:React 和 Vue 在大部分常见场景下都能提供近似的性能。通常 Vue 会有少量优势,因为 Vue 的 Virtual DOM 实现相对更为轻量一些。
不同之处
- 数据绑定方面,vue实现了数据的双向数据绑定,react数据流动是单向的
- virtual DOM不一样,vue会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树.而对于React而言,每当应用的状态被改变时,全部组件都会重新渲染,所以react中会需要shouldComponentUpdate这个生命周期函数方法来进行控制
五 对比其他框架-angular
- 在性能 上vue比angular略 快一些
- 在大小方面vue比angular大一些
- 在灵活方面vue比angular灵活一些