京东云开发者|关于“React 和 Vue 该用哪个”我真的栓Q( 六 )

  • 在项目优化中,由于React的更新特性是自根节点开始不断递归对比虚拟dom去查找变化,如果不进行手动优化,那么将导致每层组件都会重新调用render,在大型项目中可能就是性能灾难,所以React官方提供了很多专门用于优化的 API,比如shouldComponentUpdate、PureComponent、React.memo等,致使在日常工作中,开发者在思考业务逻辑的同时,还要考虑性能优化,无法专注于业务本身 。而Vue则因为天生具有依赖收集的优势,对于数据的变化更敏感和准确,开发者即使不刻意关注优化,Vue也能提供给你不错的性能 。
  • 说Vue重的,其实大多纠结在API数量,需要记忆的东西多,并且如果使用了Vue3,那就又会发现Vue3里不论是 setup 写法,还是API的更新,都有了翻天覆地的变化,于是发现要记忆的东西就更多了 :cold_sweat:
    但是这几点对于有经验的熟练框架使用者来说,常用的API其实很固定,也往往就是那么几个,对于新入门的小伙伴,千万不要产生劝退心理:grimacing:
    10. 社区生态
    • 全球开发者使用框架占比调查,数据来源于 Stackoverflow 的 58,743 名受访者,截图中未完全列出所有看框架的排名,点击链接查看,React 相较Vue牢牢占据着第二把交椅 。

    京东云开发者|关于“React 和 Vue 该用哪个”我真的栓Q

    文章插图
    截止到 2022年6月23日 的一些数据
      • npm 周下载量:React:15,764,543 次Vue:3,279,362 次
      • 在 Stackoverflow 上关于 #reactjs 标签的问题讨论有 396,378 个,而关于 #vue.js 的有 94709 个
      • 在 Github 上,Vue的 Star 数为 197K,已经超过React的 190K
      • 另一方面,通过来自 similartech 的数据显示,React 被应用在了 1,256,598 个网站中,并仍在以每月 0.59% 的速率增长,而使用Vue的网站有 296,047 个,每月增长速率为 0.87% 。

    京东云开发者|关于“React 和 Vue 该用哪个”我真的栓Q

    文章插图

    京东云开发者|关于“React 和 Vue 该用哪个”我真的栓Q

    文章插图
    11. 开源代码许可协议也叫软件许可证,具体解释可以查看维基百科,下面说重点 。
    • React 是 Facebook 的开源项目,Facebook 在2016年11月强化了 BSD 许可证和专利许可证的概念,在对许可证书授权方和被授权方而言,存在待遇上的不对等性,这就带来一个很关键的风险点:使用 React 的公司和 Facebook 一旦存在业务竞争,React 将成为 Facebook 获得诉讼胜利重要筹码,这无形之中将给竞争公司带来法务风险,虽然 React 后来把开源协议改成了 MIT,但是前车之鉴,在某些重大项目的技术栈选择上,尤其在当前国际环境的斗争中还是要慎重考虑,并充分告知本公司潜在的风险 。
    • Vue 是由国人尤雨溪开发,软件协议为 MIT,目前在国内起码畅快使用是没问题的 。
    • 关于开源协议的解释可以查看百度百科
    三、总结:做个了断终于到结尾了,关于React和Vue的选型,我们来做个总(liǎo)结(duàn)吧 。
    1. 在选型前,首先是要考虑历史因素和团队现状,切换技术栈的前提是不要显著的增加上下游合作方的时间成本 。
    2. 充分考虑框架的兼容性,如果不满足业务需求,再优秀也要 pass 。
    3. 对于新手来说,React过于灵活,虽然常用API不多,但是里面有很多设计模式和概念,在具备一定规模的项目中,新手的学习曲线一开始会比较陡,并且需要代码手动优化,同时庞大的社区中有层出不穷的优秀框架,但是在同类型库的选择上也会相对吃力,所以不推荐新手使用 。但是对于具备几年经验的开发者来说,React 的灵活也恰恰是优势,再结合各种设计模式,很容易使项目更具创造性,对于维护具备一定规模的项目很有益处,这也真正能体现开发者的编程能力 。

      经验总结扩展阅读