框架选择
框架产生的背景
Augular:用于构建清晰简洁的动态 web 应用。
React: 引入虚拟 dom 解决需要大量 dom 操作的复杂页面的性能问题。
Vue: 引入虚拟DOM、双向数据绑定、指令解析等,借鉴了Augular和React的优点。
对比 | Angular | Vue | React |
---|---|---|---|
基于组件 | 擅长 | 擅长 | 擅长 |
依赖标准 | Typescript | Es5/Es6 | Es6 |
底层技术 | 模版 | 模版+脚步+样式 | jsx |
数据绑定 | 双向 | 双向+单向 | 单向 |
支持原生开发 | 支持(nativescript、inonic) | 支持 (weex.js) | 支持 (react-native/react-native-renderer) |
服务端渲染 | |||
学习曲线 | 陡峭 | 简单 | 中等 |
优点 | 具有构建一个 CRUD 应用时可能用到的所有技术:数据绑定、基本模板指令、表单验证、路由、深度链接、组件重用、依赖注入 | 轻量、组件化、渐进式、使用虚拟 dom,diff 算法优化页面性能。很适合数据不够复杂的轻应用 | 单向数据流,数据易管理;使用虚拟 dom,diff 算法优化页面性能;react 本身库中内容少,社区具有丰富的组件库,按需引入第三方库,开发更灵活。很适合数据多的复杂应用。 |
缺点 | 数据变整个 dom 都会被更新,数据越大性能越差。不适合需要频繁操作 dom 的应用 | 数据多时,数据流不易维护 | 不够轻量 |
应用场景 | 用于需要大量 crud 操作的应用 | 适合频繁操作 dom 的数据不太复杂的应用 | 适合 频繁操作 dom 的数据复杂的应用 |
Jquery、Angular、Vue、React 如何选择
如下几个点来考虑选择何种框架:
是否能更好的解决业务中的问题
- 是否要轻量(React 比 vue 大,vue 更适合轻量级应用,比如活动页)
- 是否要简单
- 是否需要动画
- 是否需要组件化
- 页面是否复杂(Vue 性能比 React 更快)
- 是否需要双向绑定
参考资料
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。