前端框架对比

React、Vue和Angular

React

React起源于Facebook的内部项目,用来架设Instagram 的网站,于2013年5月开源,并于2017年9月27发布v16.0版本,遵循MIT许可,即完全开源。

  • 特点:
    1. 声明式设计:React采用声明范式,可以轻松描述应用。
    2. 高效:React通过对虚拟DOM技术,最大限度地减少与DOM的交互。
    3. 灵活:React可以与已知的库或框架很好地配合。
  • 优点:
    1. 速度快:在UI渲染过程中,React通过在虚拟DOM中的微操作来实现对实际DOM的局部更新。
    2. 跨浏览器兼容:虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的。
    3. 单向数据流:Flux是一个用于在JavaScript应用中创建单向数据层的架构,它随着React视图库的开发而被Facebook概念化。
    4. 有庞大而活跃的社区。
    5. 相关的开发工具功能丰富。
    6. React Native使得Web应用的逻辑可以复用于移动客户端
  • 缺点:
    1. React使用一种新的语法JSX,需要额外学习成本。
    2. React实际上只操作了view层,需要配合react-route和redux构建大型应用。
  • 使用React技术栈的公司:阿里巴巴、美团内部系统、去哪儿等。
  • 优秀的组件库:Ant Design(蚂蚁金服)

Vue

Vue.js的作者为Evan You(尤雨溪),任职于Google Creative Lab。Vue.js由个人项目发展成为开源项目,现为最流行的前端框架之一,目前更新到Vue2.0版本。

  • 特点
    1. 轻量级的框架。
    2. 支持双向的数据绑定。
    3. 通过指令扩展了HTML。
  • 优点:
    1. 简单:官方文档很清晰,简单易学。
    2. 灵活:不断繁荣的生态系统,可以在一个库和一套完整框架之间自如伸缩。
    3. 高效:20kB min+gzip 运行大小,超快虚拟 DOM,最省心的优化 。
    4. 吸收了angular和react的优点。
  • 缺点:
    1. vue是新的框架,相对来说没angular成熟。
    2. 同样有很多额外的模块,如路由器和状态管理工具。
    3. 默认不支持IE9以下浏览器。
  • 使用Vue技术栈的公司:
    饿了么、稀土掘金(内容分享网站)、美团等。
  • 优秀的组件库:
    Element UI

Angular

AngularJs是Google开源的一款JavaScript MVVM框架,弥补了HTML在构建应用方面上的不足,通过指令扩展HTML词汇,使开发者可以动态声明HTML内容,目前已更新到angular4.0版本。

  • 特点
    1. 良好的应用程序结构。
    2. 双向数据绑定。
    3. 通过指令扩展HTML词汇。
    4. 以HTML为中心。
  • 优点:
    1. 模板功能强大丰富,自带了极其丰富的angular指令。
    2. 是一个比较完善的前端框架,包含服务,模板,数据双向绑定,模块化,路由,过滤器,依赖注入等所有功能;
    3. 自定义指令,自定义指令后可以在项目中多次使用。
    4. angularjs是由谷歌开发,这也意味着他有一个坚实的基础和社区支持。
  • 缺点:
    1. 陡峭的学习曲线,深入后概念很多。
    2. 对于数据量庞大的应用会有性能问题。
    3. 比较笨重。
  • 使用Angular技术栈的公司:
    锤子科技等。
  • 优秀的组件库:
    Angular Material

总结

Angular、React和Vue三者面对的都是web应用,其中Angular适应领域相对较窄一些,React可以扩展到服务端,移动端Native部分,而Vue比较轻量,可快速搭建业务场景比较轻的页面。

你可能感兴趣的:(前端框架对比)