# 框架选择

# 框架产生的背景

Augular:用于构建清晰简洁的动态 web 应用。

React: 引入虚拟 dom 解决需要大量 dom 操作的复杂页面的性能问题。

Vue:

对比 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 更快)
  • 是否需要双向绑定

参考资料

augular 的产生背景

为什么使用 react

三大框架对比

React 与 Vue 比较

现代 js 框架存在的根本原因

12-3