WEB技术框架选型参考

Laeni
2021-05-31~2021-06-02

以下为目前三大框架的的一些优劣的不完全举例,可供选型参考:

React方向

优势

  1. 轮子众多,几乎在各个领域都能找到比较好的解决方案
  2. 由于第一点原因,所以它也同时适用于前台或中后台
  3. 几乎所有大厂都是以React为主要技术栈
  4. TypeScript支持良好,且可以不使用TypeScript
  5. 可以不使用nodejs(但稍微复杂项目一般都会使用nodejs环境开发)

劣势

  1. 由于学习曲线稍微比Vue更陡峭,所以导致新人学习意愿不高,以至于会的人不多
  2. 相比于Vue,入门门槛稍微偏高
  3. 大部分情况下需要自己考虑代码拆分(像UmiJSNext.js这样更高级的框架会自动进行代码拆分)

常用相关框架

  1. UmiJS:蚂蚁金服倾力打造,是一款基于React的通用型js框架,起设计大部分参考自Next.js
  2. Next.js:基于React的一款高级框架,和UmiJS类似
  3. Ant Design:一套前端设计规范,目前官方实现了React版本,但社区实现了VueAngular版本
  4. Ant Design Pro:主要面向中后台网站,有很多成熟可快速使用的组件

Vue方向

优势

  1. 快速上手。正如Vue官网所述,其是一款渐进式框架(即不需要知道太多知识也能快速上手),很适合新手学习
  2. 同时吸纳了React的“自上而下”的数据流思想,同时也有类似Angular的变量修改检测等。(是优势也是劣势,由于混合使用常常让新手分不清该用哪种)
  3. 模板与HTML原生及其接近,可以使新人更容易上手
  4. 可以不使用nodejs(但稍微复杂项目一般都会使用nodejs环境开发)

劣势

  1. TypeScript支持较弱(Vue3版本有一定改善,但是因为要兼容Vue2的原因,所以也不能很好支持或者使用起来很别扭)
  2. 对复杂的需求很难处理(虽然有方法处理,但是最后的实现肯定会比React或者Angular的实现更难以理解和维护)
  3. 大部分情况下需要自己考虑代码拆分(像Nuxt.js这样更高级的框架会自动进行代码拆分)

常用

相关框架

  1. Nuxt.js:类似于Next.js,提供了一整套解决方案,区别在于一个是Vue的实现,一个是React的实现。但是目前该框架只支持Vue2,上不支持Vue3
  2. Ant Design for VueAnt Design 规范的Vue实现
  3. Element:饿了么基于VUE实现的组件库

Angular方向

优势

  1. TypeScript支持良好
  2. Vue一样,模板与HTML原生及其接近,可以使新人更容易上手
  3. 使用引用变更检测来检查变量是否被修改,且该检测能支持到对象内部(比较符合一般人的思维习惯)
  4. 原生设计上就支持代码拆分(通过模块实现)

劣势

  1. 学习曲线陡峭,需要同时对几个相关知识点有一定了解后才能上手
  2. 新版只能使用TypeScript进行开发
  3. 必须使用nodejs环境进行开发

相关框架

  1. NG-ZORROAnt Design 规范的Angular实现

总结

方向选择

  1. 中后台项目优先考虑ReactAngular
  2. 简单项目可以考虑Vue,其次考虑React,因为你永远不知道实际编码的时候会有多复杂
  3. SEO诉求(需要考虑服务端渲染或者预渲染)的优先考虑React,其次考虑Vue

发现错误或想为文章做出贡献? 在 GitHub 上编辑此页面!
© 2020-2025 All Right Reserved 滇ICP备17005647号-2