关于开发基础框架的选型
基础框架简介
基础框架可以理解为建立一个项目所需的基础框架,这个基础框架为凝聚了之前开发项目的通用、共性的方法、工具、技术等组成的代码包。建立基础框架之后,后面开发的效率将大大提高。
常见的基础框架有力软、JEECGBOOT、芋道、若依,其中力软是付费产品,jeecgboot暂时还没了解过,而yudao和ruoyi都是如今比较热门的开源框架。
ruoyi-cloud、yudao-cloud、慧图脚手架框架的对比(各自优缺点)
RuoYi-Cloud
项目地址:https://gitee.com/y_project/RuoYi-Cloud
项目特色:基于SpringBoot的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用
ruoyi-cloud技术架构图
若依框架优势
1、功能简洁包含项目需要的最小框架:定时任务、系统参数、字典、通知公告、代码生成,启动项目速度快
2、具备完整的生态,查看其他语言代码方便
若依框架槽点
1.代码质量不高,虽然是Java项目,Ruoyi的代码带有明显的C#风格,这一点会让不少Java程序员不舒服。DO类从数据库用到Controller,你甚至可以从接口里直接读到数据表结构。
2.Shiro、fastjson这种具有不少黑历史的有漏洞依赖也还在使用,虽然都提供了漏洞解决办法,但是不如干掉换其他依赖效果更好
yudao-Cloud
项目地址:https://gitee.com/zhijiantianya/yudao-cloud
yudao-cloud技术架构图
芋道框架优势
1、功能模块多,集成mapstruct、mybaitplus、Oauth2 、短信、错误码
2、APP端和pc端严格区分,业务API与前端接口严格区分。代码框架接口清晰便捷明显,系统之间相互调用较多。
3、自动编写单元测试,每次打包时会利用的sqlite数据库进行单元测试。
4、有较多开源的拓展功能,集成了Hutool工具包,支持包含文件上传、小程序登录三方登录、工作流、短信、多租户、支付等功能。
5、初始内置多种数据库脚本,可天然支持多种数据库含国产数据库。
芋道框架槽点
1、启动速度慢
2、框架复杂,一些场景排查问题较难
慧图脚手架框架
系统技术
Springboot2.2.5+springcloud (Hoxton.SR6)+openfeign+consul(服务中心)+hystrix(熔断)
系统架构
base_common(基础工具包,不能改动)
base_admin(业务服务包,可以改动)
base_survey (业务服务包,可以改动)
慧图脚手架框架优势
1、开发简单快捷,开发者只需在自己的子服务中的controller、entity、mapper和service下进行开发
2、框架相对简单,遇到问题排查起来较为迅速
慧图脚手架槽点
模块内存放较为集中,耦合度高,拆分不方便,开发时可能会带来不便
后续有待补充…