了解 Diboot

诞生背景

当行业步入成本高人才缺效率低的阶段,必然带来的一个变革就是自动化,IT行业也不例外。这也是低代码/无代码这个概念近几年被引爆的原因。 面对群魔乱舞的无代码们,我们也曾动摇过:那些给业务人员用的无代码会是软件开发的未来吗? 程序员会被取代吗?

当我们深入使用了某些无代码平台后,我们坚定了自己的判断:程序员是不可替代的,无代码是个高度场景预设的产物。 信息化已经过了普及阶段,用户对软件的要求越来越高,需求也越来越复杂。诚然你可以用无代码实现大部分简单需求,但对于剩下的复杂需求,你需要付出数倍于传统开发的代价才能勉强实现。

不可取代并不代表可以高枕无忧,传统的开发框架复杂繁琐,开发和维护都很难提效,低代码时代需要一个新的框架体系来给开发人员赋能。这就是Diboot诞生的使命,她介于pro-code与low-code之间,赋能开发者,实现开发过程的提质提效。

核心优势

diboot 是一套全新的基于"坚固地基(基础框架)+高效脚手架(devtools代码生成工具)"的低代码开发平台,致力于赋能开发者脱离CRUD,解决开发的质量效率和可维护难题。

diboot的核心优势:

  • 写的更少:
    • 常规CRUD、关联对象绑定、连表查询都不用写SQL了,开发难度降低,代码量简化
    • 通过devtools的高度自动化能力,前后端完整的常规功能开发都不用写代码了
  • 性能更好:

适用场景

目前覆盖的开发场景有:

开发场景diboot 对应解决方案技术选型
单体应用开发spring-boot 单体版 + devtools基于Spring boot + Mybatis(Mybatis-plus) + diboot基础组件 + Vue(Element + Antdv)
移动端开发diboot-mobile组件 + devtools基于diboot移动端组件 + uni-app(uview)
微服务开发diboot-cloud 微服务版 + devtools基于Spring cloud + diboot内核 + Vue(Antdv)
工作流开发diboot-workflow 工作流版 + devtools基于flowable + diboot基础组件 + bpmnjs + 自研表单设计器及表单引擎

推荐使用姿势:

  • 无历史包袱的新项目:推荐使用diboot整套解决方案(基础框架+工具)

  • mybatis-plus 老项目改造

    • 只集成diboot-core,使用关联数据绑定等核心能力(不使用diboot的字典表及字典绑定)
    • 或只集成diboot-core-starter,使用关联数据绑定等核心能力(及diboot的字典表及字典绑定)
  • mybatis 老项目

    • 不建议改造了,继续维护吧

设计理念

  • Web开发需要一个普适的基础框架,把复杂的问题简单化,最好还能做到更佳性能,让开发人员避开常见问题
  • 程序员很难被替代,但程序员应该聚焦于数据结构设计、业务实现、难点解决,提高解决问题的能力(未来竞争力)
  • 低代码是未来的趋势,CRUD类重复有规律的工作应该交给工具去做

Diboot是一个面向开发人员的低代码开发平台,将重复性的工作自动化,提高质量、效率、可维护性。 diboot主要有diboot-core和diboot-devtools组成,diboot-core又为springboot专门封装了diboot-core-spring-boot-starter组件,diboot-devtools也以starter提供。 diboot特点: 1、专门为springboot开发,引入依赖,配置好相对路径即可使用; 2、并且支持较为常用的五种数据库(MySQL,ORACLE,SQLServer,PostgreSQL,MariaDB); 3、代码自动生成到项目相应的目录下; 4、数据库表结构更改后,可以同步更改对应文件的代码,而不影响到你自己写的代码; 5、基础框架中依靠注解实现的数据关联(一对一、一对多、多对多、数据字典关联等),将关联问题简单化了; 6、对数据关联设置简单,代码生成与更新也可以自动支持一对一、一对多、多对多、数据字典关联; 7、支持开发以及维护过程中对数据库相关表的数据结构更改进行记录,并写入到对应的数据库更改日志文件中; 8、支持启用lombok的代码形式; 9、支持启用swagger的项目; 10、依赖少、简便轻量、灵活性高。   Diboot轻代码开发平台 更新日志: v2.2.1 新增: @BindQuery注解新增strategy参数,支持空值处理策略(默认忽略空字符串) 基于Spring的内存缓存实现(BaseCacheManager),并优化绑定缓存实现 SqlFileInitializer新增executeMultipleUpdateSqlsWithTransaction,支持事务的多SQL更新 BaseService新增IService的getMap(queryWrapper)等接口 @CollectThisApi注解,自动提取注解对应的rest接口 工具类 S.splitToList,D.formatDurationLabel等 优化: 关联绑定的实现中字段名列名的转换由规则转换改为精确转换 支持BindField&BindDict组合使用 BeanUtils.convertValueToFieldType支持LocalDateTime转换 修复: 修复@BindQuery查询不支持自定义逻辑删除字段的问题 升级依赖jar至最新(spring boot 2.4.5, mybatis-plus 3.4.2等)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值