A5sh.com - 全球挚爱极客社区

标题: react VS vue 我们究竟该如何选择 [打印本页]

作者: 阿东    时间: 2021-11-4 00:05
标题: react VS vue 我们究竟该如何选择
一、react 、 vue
    在讨论这两个框架之前,先和广大朋友们说清楚。本博客不掺杂太多的主观色彩,完全从个人工作中的使用情况和大家谈着两种框架。
    先简略交代一下我对这两个框架的接触过程(可以直接跳过)
    因为以前都是 angularjs 开发,所以,我第一个接触的是 vue 。数据绑定等众多相似之处,让我下意识的就选择了他。但是很可惜,那会网上资料不多,而且还是1.0版本,再加上工作中没有项目需要,我只是研究过一段时间的文档,并没有具体的项目开发。os:遗憾
    后来,因为工作的需要,直接接触 react 做公司的OA系统。刚接触的时候,说实话, react 的 语法让你很难受,开发起来报错频繁,所以上手颇难,但是熟悉之后发现,react开发真的是好用,而且他的社区超级庞大,各种优秀的团队开发了很多现成的东西,为你的开发节省了大量时间。这里吐槽一下,80%的程序猿用代码,只有20%的程序猿在创造代码。不过这也是无奈之举,毕竟,作为一名员工第一职责是快、准、好的完成工作。os:没有面包,怎么谈理想。
    不过,还是强烈建议大家,有时间,多在网上交流,分享一下自己的想法。互联网之所以强大,程序猿之所以工资高。离不开大家的分享的。都闭门造车,迟早会完蛋的。无论你水平高低,精心准备的东西,总会对别人产生帮助。
    说多了,我们继续!自打用了react之后,博主就一直用,但是只是局限于中后台的管理系统。后来因为工作需要做手机页面的单页webapp,博主实现做了不少调查。
    发现手机端的单页应用还是 vue 比较好。原因有很多。咱们慢慢聊:
     (1)我发现 vue2.0 特别厉害,react能做的,他都能做,功能上没什么差别,以前的许多bug都已经修改过了。os: 官方很强大啊,社区也厉害
     (2)vue 文档超级详细,真的是小白入门宝典。直接度给你100年功力的那种,很详细。
     (3)vue 的 动画过度效果很好。文档详细,效果牛逼,还能很方便的引入插件。
     (4)vue 上手简单,真的很简单,很大程度上依赖于开发者对 HTML变成的习惯,以及 对 angularjs 的熟悉。贴别是数据绑定。
    再就是数据驱动的理念好理解,开发者只需要关注数据,其他工作都是vue帮你完成了,所以感觉简单。
     (5)vue 小巧、轻便。vue生产环境的压缩包很小20多KB,脚手架可定制,对项目开发哈市很友好的。
     总之,看到他有那么多有点之后,我就用了,因为世界代码是一家,我有react的开发经验,学习vue可以说是很轻松,他们的思想。实现方式很多地方都是共同的。
二、vue、react 与 项目框架选择
    再次声明,以下观点,纯属个人感受,不代表任何官方意见
    我以工作中的体会,来和大家分享着2个框架的选择
    1. vue 适合 webapp,适合做用户交互多、各种动态效果变化丰富的应用。特别是PC、手机的网页版 商城等页面。
  原因: vue 实现逻辑复杂的功能比较简单,跟写js似的,而且一些效果、过度感觉很舒服。社区这部分资源也比较多
    2. react 适合 oa系统,适合 大批量的数据展示、适合做大型应用。特别适合公司的后台操作系统。
  原因: react 对那种比较复杂的交互,实施起来比较麻烦,没有vue那么方便。再就是他的渲染原理是渲染整个组件树(除非你做详细设置),所以,一方面费性能,而且代码写起来,逻辑很复杂。但是react对批量数据操作很厉害。还有蚂蚁的antd,顶一个。
    3. 涉及到混合开发,我个人觉得看情况。纯H5的混合, 用 reactNative ;如果50%左右那种,vue+react都可以,具体情况分析吧;10%那种,啥也别用了,直接html+js接入页面。
 4. 项目要求的比较高的项目适合用react。 因为react的社区更活跃一些,尤其是各种UI框架比较稳定、系统,可以信赖。Vue的社区也很活跃,相对来说各种组件五花八门,大多数不够完善、缺乏系统性和迭代。对于项目的后期维护或者新人入手都不友好。
   5.  从应用上看。react打出来的包会大一些,相对来说,Vue打出来的包小一些。如果项目场景对加载速度有要求,建议用Vue
  6. 最后加点个人偏见。我个人觉得react调试更方便,他的数据自上而下,通过props以流的形式一层层往下渲染,当然这样的算法会导致多余的渲染,根结点一变,他下边的都得重新渲染。而Vue是数据驱动,具体的不太了解,粗浅的认为也是监听,不过哪个监听点变化,就是重新渲染哪里,貌似效率更高。但是数据调试没那么友好,而且这个监听的底层原理我觉得并没有那么高效。  ps:偏见、偏见,浓浓的个人感情色彩,大家看看就好
总结:
  我个人是 做OA就用 react; 做 webapp,一般用vue,交互复杂得用,交互不复杂,项目一般比较简单,还是得用vue。APP开发,就看情况了。(from网络)





欢迎光临 A5sh.com - 全球挚爱极客社区 (https://a5sh.com/) Powered by Discuz! X3.4