中大型项目用react还是vue?

中大型项目用react还是vue?

中大型项目可以用react,react比较适合大型项目。

原因:

1、大型项目的庞大带来的是代码优化以及性能优化

  • react提倡的更细粒度的封装,带来的组件的复用性提高。

  • 更高自由度的编写(几乎无api)可以为手动优化性能带来更大的便利性

2、react社区的活跃性

  • 这点会反复提及,因为这点更加重要

  • 社区提供了多样性的解决方案和更多的选择,这对于一个大型项目(大量的坑)来说也是至关重要的

拓展:

react和vue的区别

1、设计思想上的区别(数据是不可变的)

  • vue的思想是响应式的,也就是基于是数据可变的,通过对每一个属性建立Watcher来监听,当属性变化的时候,响应式的更新对应的虚拟dom。

  • 把组件设计成纯组件,状态和逻辑通过参数传入,所以在react中,是单向数据流,推崇结合immutableJs来实现数据不可变

react中数据都是进行手动更改达到视图更新,而vue是响应式的进行更改。

2、通过js来操作一切,还是用各自的处理方式

  • react的思路是all in js,通过js来生成html,所以设计了jsx,还有通过js来操作css,社区的styled-component、jss等,

  • vue是把html,css,js组合到一起,用各自的处理方式,vue有单文件组件,可以把html、css、js写到一个文件中,html提供了模板引擎来处理。

3、类式的组件写法,还是声明式的写法

  • react是类式的写法,api很少,也有傻瓜组件的函数式写法

  • 而vue是声明式的写法,通过传入各种options,api和参数都很多。

所以react结合typescript更容易一起写,vue稍微复杂。不过vue3.0也全面支持typescript。而且vue3.0也更加趋向于react了。这一点在2019年年末推出的vue3.0先行版本已经体现。所以这一点也不在是区别,而是共同点

4、组件封装(扩展)

  • react的高阶组件hoc进行封装,react提倡精度更细,纯渲染的的组件封装,也就是什么都交给js去做

  • vue使用mixins进行扩展

5、社区活跃

  • react做的事情很少,很多都交给社区去做

  • vue很多东西都是内置的,写起来确实方便一些,

接下来说一些更细致的区别,也可以说是它们的缺陷,也是对上述几点的补充

1、复用组件

  • react不太适合复杂逻辑。代码复杂性随着内联模板和 JSX 的增加而增加。如果有太多的小组件可能增加项目的庞大和复杂

  • vue在这点做的很好。但是vue的数据双向绑定(响应式)导致数据的稳定性不足,过多的数据会产生过多的watch,从而导致性能上降低。

  • vue2.0+和react都是单向数据流,只不过vue实现了数据双向绑定的语法糖,不要混淆了同志们。

2、入门难度

  • vue对于新手比较友好。react有一个学习曲线。

  • react也比较趋向于面向对象写法。

3、性能优化

  • vue的性能上相比与react还是比较高效的。例如react在渲染的时候对将组件以及后代组件全部重新渲染,当然也不是完全重新渲染,但是这种对比不同点渲染又会带来新的性能损耗。

  • 而vue的更新要比react粒度要更细也更加不用去人为的关心,

  • 虽然react可以使用shouldComponentUpdate和pureComponent帮助我们对此进行优化,但仍然不及vue性能

  • 但是react的手动性能优化要强于vue,因为react编写自由度更高

4、代码量

  • react的高自由度也代表的开发功能的复杂性,几乎所有的功能逻辑都需要自己手动编写,这无疑提升的项目成本

  • vue虽然有些功能不够完善,但是自己开发设计也不会太过困难。

  • vue生产打包体积更小,实现功能的代码也要比react少。

5、渲染机制(对于第三点的补充)

  • vue的订阅机制能够明确知道哪个value发生了改变,然后只重新渲染该部分即可

  • react只要调用的setState就会触发render重新渲染,甚至视图什么数据都没使用,它不关心也不知道是哪个数据发生了改变。当组件或节点比较多的时候,更新数据可能会造成很多不必要的虚拟DOM的构建,庞大的节点树也拖慢了diff的速度,这时就需要引入一些优化方案,比如PureComponent配合ImutableJS, PureComponent利用props和state属性的浅对比来决定要不要重渲染,如果浅对比结果是相等,则组件及其子组件不参与重渲染。

更多web前端知识,请查阅 HTML中文网 !!

以上就是中大型项目用react还是vue?的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » React 答疑