前端三大主流框架的对比React、Vue、Angular

前端三大主流框架的对比React、Vue、Angular

React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站, 并于 2013年 5 月开源。React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。它有以下的特性:

1.声明式设计:React采用声明范式,可以轻松描述应用。

2.高效:React通过对DOM的模拟,最大限度地减少与DOM的交互。

3.灵活:React可以与已知的库或框架很好地配合。

优点:

1. 速度快:在UI渲染过程中,React通过在虚拟DOM中的微操作来实现对实际DOM的局部更新。

2. 跨浏览器兼容:虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的。

3. 模块化:为你程序编写独立的模块化UI组件,这样当某个或某些组件出现问题是,可以方便地进行隔离。

4. 单向数据流:Flux是一个用于在JavaScript应用中创建单向数据层的架构,它随着React视图库的开发而被Facebook概念化。

5. 同构、纯粹的javascript:因为搜索引擎的爬虫程序依赖的是服务端响应而不是JavaScript的执行,预渲染你的应用有助于搜索引擎优化。

6.兼容性好:比如使用RequireJS来加载和打包,而Browserify和Webpack适用于构建大型应用。它们使得那些艰难的任务不再让人望而生畏。

缺点:

React本身只是一个V而已,并不是一个完整的框架,所以如果是大型项目想要一套完整的框架的话,基本都需要加上ReactRouter和Flux才能写大型应用。

Vue是尤雨溪编写的一个构建数据驱动的Web界面的库,准确来说不是一个框架,它聚焦在V(view)视图层。

它有以下的特性:

1.轻量级的框架

2.双向数据绑定

3.指令

4.插件化

优点:

1. 简单:官方文档很清晰,比 Angular 简单易学。

2. 快速:异步批处理方式更新 DOM。

3. 组合:用解耦的、可复用的组件组合你的应用程序。

4. 紧凑:~18kb min+gzip,且无依赖。

5. 强大:表达式 无需声明依赖的可推导属性 (computed properties)。

6. 对模块友好:可以通过 NPM、Bower 或 Duo 安装,不强迫你所有的代码都遵循 Angular 的各种规定,使用场景更加灵活。

缺点:

1. 新生儿:Vue.js是一个新的项目,没有angular那么成熟。

2. 影响度不是很大:google了一下,有关于Vue.js多样性或者说丰富性少于其他一些有名的库。

3. 不支持IE8

Angular是一款优秀的前端JS框架,已经被用于Google的多款产品当中。

它有以下的特性:

1.良好的应用程序结构

2.双向数据绑定

3.指令

4.HTML模板

5.可嵌入、注入和测试

优点:

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

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

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

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

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

缺点:

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

2. 文档例子非常少, 官方的文档基本只写了api, 一个例子都没有, 很多时候具体怎么用都是google来的, 或直接问misko,angular的作者.

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

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

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

作者:liutianou
链接:https://www.jianshu.com/p/c4005414025c
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文地址:https://www.cnblogs.com/licongzhuo/p/11805918.html

时间: 2024-10-12 16:13:02

前端三大主流框架的对比React、Vue、Angular的相关文章

小猿圈web之前端的主流框架

社会在不断发展,互联网更新换代也是飞速,web框架也是经历一代又一代的革新,那么当今时代什么框架是前端的主流框架呢?小猿圈加加查了一些资料,整理出当今时代比较流行的三种框架,下面说一下这三种框架. 目前比较流行的前端三大框架是Angular.React.Vue,三者各有所长. 1.Angular Angular是一个JavaScript框架,最为核心的是:MVC(Model–view–controller).模块化.自动化双向数据绑定.语义化标签.依赖注入等等.Angular通过指令扩展了HTM

Java三大主流框架概述

Java三大主流框架概述 邮箱:[email protected] Struts.Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案.但你是否知道,这些知名框架最初是怎样产生的?我们知道,传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构分为几层,有负责前台展示的JSP.负责流程逻辑控制的Servlet以及负责数据封装的Javabean.但是这种结构仍然存

【 Linux 】三大主流软件负载均衡器对比(LVS、Nginx、HAproxy)

三大主流软件负载均衡器对比(LVS.Nginx.HAproxy) (资料来自网络,做了部分的补充说明) LVS:    1. 抗负载能力强,性能高,能达到F5的60%,对内存和CPU资源消耗比较低    2. 工作在网络4层,通过VRRP协议(仅作代理之用),具体的流量是由linux内核来处理,因此没有流量的产生.    3. 稳定,可靠性高,自身有完美的热备方案(Keepalived+lvs)    4. 不支持正则处理,不能做动静分离.    5. 支持多种负载均衡算法:rr(轮询),wrr

Python三大主流框架分析

python三大主流框架 """ Django: 大而全 自带的功能特别特别多 类似于航空母舰 有时候过于笨重 Flask 小而精 自带的功能特别特别少 类似于游骑兵 第三方的模块特别特别多,如果将flask第三方模块全部加起来 完全可以超过django 比较依赖于第三方模块 Tornado 异步非阻塞 牛逼到可以开发游戏服务器 A:socket部分 B:路由与视图函数对应关系 C:模板语法 Django: A用的别人的 wsgiref B自己写的 C自己写的 Flask A

三大主流软件负载均衡器对比(LVS VS Nginx VS Haproxy)

LVS:1.抗负载能力强.抗负载能力强.性能高,能达到F5硬件的60%:对内存和cpu资源消耗比较低2.工作在网络4层,通过vrrp协议转发(仅作分发之用),具体的流量由linux内核处理,因此没有流量的产生.2.稳定性.可靠性好,自身有完美的热备方案:(如:LVS+Keepalived)3.应用范围比较广,可以对所有应用做负载均衡:4.不支持正则处理,不能做动静分离.5.支持负载均衡算法:rr(轮循).wrr(带权轮循).lc(最小连接).wlc(权重最小连接)6.配置 复杂,对网络依赖比较大

三大主流软件负载均衡器对比(LVS、Nginx、HAproxy)

LVS:    1. 抗负载能力强,性能高,能达到F5的60%,对内存和CPU资源消耗比较低    2. 工作在网络4层,通过VRRP协议(仅作代理之用),具体的流量是由linux内核来处理,因此没有流量的产生.    3. 稳定,可靠性高,自身有完美的热备方案(Keepalived+lvs)    4. 不支持正则处理,不能做动静分离.    5. 支持多种负载均衡算法:rr(轮询),wrr(带权轮询).lc(最小连接).wlc(带权最小连接)    6. 配置相对复杂,对网络依赖比较大,稳定

主流框架的搭建(VUE,React)

vue脚手架:cnpm install vue vue-cli -gvue init webpack/webpack-simple shuaige(新建文件夹的名字)cd shuaigecnpm install npm run dev 打包npm run build react脚手架:cnpm install create-react-app -gcreate-react-app shuaige(新建文件夹名字)cd shuaigecnpm install 运行是npm start打包npm r

三大主流手机浏览器对比:哪个最安全?

随着用户在手机上操作的应用越多越来越多,不止是上网浏览网页等,还涉及网购和手机支付等,安全问题已经成为移动互联网最重要的问题.作为用户使用最频繁的应用之一,手机浏览器的安全问题也更为突出,那么目前市面主流的手机浏览器哪款才是更安全的呢? 本文对国内市场份额前三名的UC手机浏览器.QQ手机浏览器.百度手机浏览器进行逐一对比. 一.信息传输对比 信息传输是一个应用安全最为重要的环节,如果敏感信息泄露,将造成用户直接利益损失.通过网络劫包和解密,发现三款手机浏览器在信息传输过程中加密方式不一. 首先先

java三大主流框架

姓名:邓勇  班级:软件151 Struts.Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案.但你是否知道,这些知名框架最初是怎样产生的?我们知道,传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构分为几层,有负责前台展示的JSP.负责流程逻辑控制的Servlet以及负责数据封装的Javabean.但是这种结构仍然存在问题:如JSP页面中需要使用<%%