对比起来学习前端三大框架(持续更新)

angular:

数据双向绑定,模板功能强大。依赖注入和自定义directive非常灵活。

学习路线长,框架偏重。

优缺点详见:angularJS在实际开发中有哪些优缺点?

vue:

轻量级。每一个组件自带shouldComponentUpdate

 

react:

虚拟DOM操作,设置state值render页面。

 

在vue的官网中有提到,跟其他框架的不同,可以去仔细了解一下。vue对比其他框架

官网的涉及到的东西比较深,也没有那么浅显易懂,所以想通过自己的理解再去总结。

 

react和vue进行对比:二者都采用的是virtual DOM的方式去渲染组件。

(1)语法

react推崇的是JSX语法,在学习react之前还要去出不了解JSX语法。简单说是HTML  CSS  in   JavaScript。

vue与之不同的是语法更友好,简单说是ALL IN  Vue。可以像之前写HTML5一样去写vue,webpack+vue-loader的单文件格式,再搭配前端模块化,大的小的都能hold住,less等等的也都可以使用,这个语法还是非常爽的~

(2)数据流

理论上,react要采用单向数据流,但是真正在开发的时候,还是可以通过callback等方式来进行子组件对父组件传值,不会有任何影响。但是引入flux概念,有了redux,强制将state抽取出来集中去管理。虽然更难去掌握,但是也让react的状态管理机制更加完善。

vue的数据流默认也是单向的,但是可以使用v-model去进行双向的数据流绑定操作。vue的在应用大型页面的时候也会有这样的state管理的问题,所以有了vuex。

(3)使用场景

借用尤雨溪大佬的话:

使用场景上来说:React 配合严格的 Flux 架构,适合超大规模多人协作的复杂项目。理论上 Vue 配合类似架构也可以胜任这样的用例,但缺少类似 Flux 这样的官方架构。小快灵的项目上,Vue 和 React 的选择更多是开发风格的偏好。对于需要对 DOM 进行很多自定义操作的项目,Vue 的灵活性优于 React。

(4)render

react是通过递归的方式去遍历DOM树,实现diff;而vue是自带检查机制。

react应用中,为了避免不要的子组件重渲染,需要部分手动实现shouldComponentUpdate。而这一点vue是更加出色的,组件的依赖是在渲染过程中自动追踪的。有兴趣的可以去打印一下vue中data的值,都会有一个不可枚举属性“__ob__”。这个属性就是相当于追踪属性,精确的知道哪个组件确实需要被渲染。可以理解为每个组件都是有react的shouldComponentUpdate。

参考知乎vue和react使用场景和深度有什么不同

Vue和React区别

个人还是很喜欢vue和尤雨溪大佬的。

搬运的新资料  关于Vue和React区别

 

react和angular对比,同样都是Model Driven View

(1)语法

react采用的JSX语法,angular推崇使用typescript,也可以直接用js写。配合上ts还是很爽,后端的也能很快习惯ts的开发。react更注重的是在view层,用state的改变去re-render页面。angular是双向绑定,更加注重的是model层,更加擅长对数据的处理和业务逻辑。

 

 

 

想通过自己在公司接触的不同项目和使用的不同框架总结自己的经验,如果有不对的地方,欢迎指正。

 

 

    原文作者:不帅的喆
    原文地址: https://blog.csdn.net/qq_35414779/article/details/79303550
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞