主流前端框架对比

1.前端框架

下面列举了,目前比较主流前端框架,也主要以下面几个框架进行研究。

  1. Vue
  2. React
  3. Angular
  4. Bootstrap

1.1 VUE (个人维护、下载量22W)

模板和渲染函数的弹性选择

简单的语法及项目创建

更快的渲染速度和更小的体积

总结:适合小而快的项目

中文官网:https://vuejs.bootcss.com

1.2 React (FackBook维护、下载量250W)

更适用于大型应用和更好的可测试性(非常清晰的代码模式,所以适用于大型应用

同时适用于Web端和原生App

更大的生态圈带来的更多支持和工具

总结:react native专门用来做APP的、支持做大型项目

中文官网 https://www.reactjscn.com/docs/hello-world.html

1.3 AngularGoogle维护

Angular是一个由Google支持的基于TypeScript的JavaScript框架

1.4 Bootstrap

Bootstrap 是一套用于 HTML、CSS 和 JS 开发的开源工具集。

2.性能对比

2.1 上手难易程度

Angular 学习成本最高

Vue的学习曲线比React相对容易一些

React需要学习JSX,ES2015以及构建系统

Vue的学习开发者只需不到一天的时间阅读指南就可以建立简单的应用程序

Bootstrap 传统的样式调用,容易上手。

2.2 浏览器支持(主要比较IE浏览器)

Vue 最低只能支持到 IE9 (官网说的)

React 目前没有特定的不兼容的版本,但是网上还是有一些关于兼容问题的文章

Angular 最低只能支持到 IE9 (官网说的)

Bootstrap 貌似对低版本的ie 兼容上很不友好(官网:从Bootstrap4开始,就不在支持IE8了,如果你需要IE8支持,我们建议你使用Bootstrap 3

 

3. 框架优缺点总结

一、Vue

优点:

1、简单易用

2、轻量高效  

3、组件化

缺点:

  1. Vue 不缺入门教程,可是很缺乏高阶教程与文档。同样的还有书籍。
    2、VUE不支持IE8
    3、生态环境差不如angular和react
    4、社区不大

 

二、React

优点:

  1. 跨浏览器兼容(虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的)
  2. 代码更加模块化,重用代码更容易,可维护性高。
  3. 兼容性好

 

缺点:

  1. 需要其他框架的配合,React是目标是UI组件,通常可以和其它框架组合使用,目前并不适合单独做一个完整的框架
  2. 目前使用该框架的公司外国居多,国内出名的公司使用较少。伴随着相关文档中文文献会较少。
  3. 学习成本高

三、Angular

优点:

1、模板功能强大丰富,自带了极其丰富的angular指令。

2、是一个比较完善的前端框架,包含服务,模板,数据双向绑定,模块化,路由,过滤器,依赖注入等所有功能。

3、自定义指令,自定义指令后可以在项目中多次使用。

4、ng模块化比较大胆的引入了Java的一些东西(依赖注入),能够很容易的写出可复用的 代码,对于敏捷开发的团队来说非常有帮助。

5、angularjs是互联网巨人谷歌开发,这也意味着他有一个坚实的基础和社区支持。

缺点:

1、angular 入门很容易 但深入后概念很多, 学习中较难理解.

2、文档例子非常少, 官方的文档基本只写了api, 一个例子都没有, 很多时候具体怎么用都是google、baidu来的。

3、对IE6/7 兼容不算特别好, 就是可以用jQuery自己手写代码解决一些。

4、指令的应用的最佳实践教程少, angular其实很灵活, 如果不看一些作者的使用原则,很容 易写出四不像的代码, 例如js中还是像jQuery的思想有很多dom操作。

5、DI 依赖注入 如果代码压缩需要显示声明。

4 其他

  1. 项目性质上SPA与微服务的取舍

Angular使用TypeScript,这就是为什么它更适合SPA而不是微服务。React和Vue都为开发微应用程序和微服务提供了更大的灵活性。

      2.取一个快速的比较

主流前端框架对比

 

  1. React、Angular、Vue三者比较

推荐一篇文章:https://baijiahao.baidu.com/s?id=1609374985643812253&wfr=spider&for=pc

 

5.总结

个人建议:使用Vue前端框架

理由如下:

1.快速上手,学习成本低对入手要求低,减少人员流失带来的成本问题。

2.国内社区活跃度高

3.国内知名公司使用频率高

4.关于APP支持方面,不做原生个人觉得H5足够使用

5.代码简洁,后期维护方便