vue与react哪个更香?

6,985 阅读3分钟

概述

Vue和React两个JavaScript框架都是当下比较受欢迎的,他们两者之间的区别有哪些,各自的优缺点是什么? 我想多数初级的前端工程师都有这个疑问,也面临着去深度学习哪个框架更好一些的疑问,那么本文将介绍一下两个框架的区别以及各自优略。

相同点

  1. 都是属于MVVM框架
  2. 都有双向数据绑定
  3. 都是数据驱动性的ui框架
  4. 都采用了Virtual DOM
  5. 都是组件化开发方式

不同点

  1. vue 提供了一系列的api, 而react的api 很少
  2. vue的思想是响应式的,也就是基于是数据可变的,react整体是函数式的思想,是单向数据流,推崇结合immutable来实现数据不可变
  3. vue 采用了template, react采用了jsx (本质上都是模版)

思考

其实以上皆为编码的方式不同,但是真象往往没有表面看起来那么简单。 vue 与 react与其说写法的不同,不如说哲学思想的不同。算法和数据结构是编程的灵魂,而哲学思想就是我们所选择生活方式。

vue 和react有各自的社区与拥护者,而我们往往选择一个框架的时候不仅仅是使用这个框架本身还包括它的整个生态系统。

vue为我们提供了很多模版,方便我们快速开发。并且vue的编程方式更像是为小白提供了一套规则,在没有任何经验的时候仍然可以编写出一套便于维护,阅读的代码。团队开发中因为编码风格不同造成读码困难,难以维护的问题并不少见,而优点即为缺点,因为提供了这样那样的规则,导致编码不太灵活。vue生态提供了整套全家桶, vuex,vue-router。。。等;vue-cli对于webpack进行了再次的封装,也就意味着当你搭建vue项目时不用在花费更多的心智和时间学习webpack,搞明白各种pulgin。(中文文档对国人的友好程度还是很高的)

react也同样为我们提供了脚手架,方便我们进行快速集成各种插件库。如果说vue是设计了一套规则,而react是设计了一套思想。react 哲学是学习react中的重中之重❗️❗️❗️ react 生态也提供了整套的全家桶 react-router, react-redux,mobx 。。等; 如果修改react 的脚手架可能需要你对webpack 有一定的了解才可以。我们在集成时犯选择困难症,数据管理我们用redux 还是mobx?因为react的灵活性我们编码时就像翱翔在自由的世界中,但是也导致团队中如果没有进行有效的沟通和约定,会导致编码的react一人一个风格,让你严重怀疑这是否是同一个项目!

结束语

不管react 还是 vue 都是很优秀的框架,如果有机会希望大家都去学习一些他们。而vue 与 react 的一直在更新,他们各自都优化的非常棒,性能上的差距很难在普通项目中体现出来。在实际项目中如何选择我想除了性能的思考外,也许更应该思考一下团队成员更适合哪个? 同一个level的编程人员也许并不在此列,选择react的灵活性可能会让大家的开发效率更快。如果团队成员技术差距较大的话,而且老大不去codereview,那么vue真是非常棒的选择!

本人也是最近开始学习写作,记录下工作中对技术的思考。

欢迎大家提意见,如果觉得对您有帮助,请点个赞! 感谢