WEB技术框架选型参考
Laeni
2021-05-31~2021-06-02
以下为目前三大框架的的一些优劣的不完全举例,可供选型参考:
React方向
优势
- 轮子众多,几乎在各个领域都能找到比较好的解决方案
- 由于第一点原因,所以它也同时适用于前台或中后台
- 几乎所有大厂都是以React为主要技术栈
- 对TypeScript支持良好,且可以不使用TypeScript
- 可以不使用nodejs(但稍微复杂项目一般都会使用nodejs环境开发)
劣势
- 由于学习曲线稍微比Vue更陡峭,所以导致新人学习意愿不高,以至于会的人不多
- 相比于Vue,入门门槛稍微偏高
- 大部分情况下需要自己考虑代码拆分(像UmiJS、Next.js这样更高级的框架会自动进行代码拆分)
常用相关框架
- UmiJS:蚂蚁金服倾力打造,是一款基于React的通用型js框架,起设计大部分参考自Next.js
- Next.js:基于React的一款高级框架,和UmiJS类似
- Ant Design:一套前端设计规范,目前官方实现了React版本,但社区实现了Vue和Angular版本
- Ant Design Pro:主要面向中后台网站,有很多成熟可快速使用的组件
Vue方向
优势
- 快速上手。正如Vue官网所述,其是一款渐进式框架(即不需要知道太多知识也能快速上手),很适合新手学习
- 同时吸纳了React的“自上而下”的数据流思想,同时也有类似Angular的变量修改检测等。(是优势也是劣势,由于混合使用常常让新手分不清该用哪种)
- 模板与HTML原生及其接近,可以使新人更容易上手
- 可以不使用nodejs(但稍微复杂项目一般都会使用nodejs环境开发)
劣势
- 对TypeScript支持较弱(Vue3版本有一定改善,但是因为要兼容Vue2的原因,所以也不能很好支持或者使用起来很别扭)
- 对复杂的需求很难处理(虽然有方法处理,但是最后的实现肯定会比React或者Angular的实现更难以理解和维护)
- 大部分情况下需要自己考虑代码拆分(像Nuxt.js这样更高级的框架会自动进行代码拆分)
常用
相关框架
- Nuxt.js:类似于Next.js,提供了一整套解决方案,区别在于一个是Vue的实现,一个是React的实现。但是目前该框架只支持Vue2,上不支持Vue3。
- Ant Design for Vue:Ant Design 规范的Vue实现
- Element:饿了么基于VUE实现的组件库
Angular方向
优势
- 对TypeScript支持良好
- 同Vue一样,模板与HTML原生及其接近,可以使新人更容易上手
- 使用引用变更检测来检查变量是否被修改,且该检测能支持到对象内部(比较符合一般人的思维习惯)
- 原生设计上就支持代码拆分(通过模块实现)
劣势
- 学习曲线陡峭,需要同时对几个相关知识点有一定了解后才能上手
- 新版只能使用TypeScript进行开发
- 必须使用nodejs环境进行开发
相关框架
- NG-ZORRO:Ant Design 规范的Angular实现
总结
方向选择