杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进

时间:2024-05-19 15:34:32

杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进

低代码low-code,无代码no-code,合称LCNC,近年来获得较快发展,一个重要的原因是需求推动,各个行业数字化升级和工业4.0,对软件开发人员需求巨大。

 

一,LCNC解决方案

很多公司和创业者有想法没团队,为了降低软件开发门槛,将通用代码形成组件化模块,通过图形化界面来拖拽组件拼装成应用。

 

降低培训学习成本、降低开发投入、降低技术和业务人员门槛,这是LCNC平台要解决的终极问题。

 

现在市场上已经有一些成熟的解决方案可用,比如国内的明道云、清流、搭搭云,国外的OutSystems等著名企业。当SaaS/PaaS平台提供的通用服务模块无法满足业务需求时,推荐使用开源框架JeecgBoot。

 

杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进

二,JeecgBoot开源项目

JeecgBoot基于代码生成器,支持无代码配置化快速开发,适用于常见的企业信息管理系统开发,比如OA办公、ERP系统、客户关系管理系统等,显著提高开发效率,降低开发成本。

 

代码托管在Github和Gitee,star数量超14.7K,fork数量超5.7K,获得多个奖项,连续五年中国最火TOP5、十大优秀开源项目、2014年微信开发商大会第一名。

 

杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进

三,Jeecg开源社区

JeecgBoot和多个项目一起,形成了完善的解决方案。

 

1,JeecgBoot

基于代码生成器的低代码开发平台,无代码配置化,前后端分离架构,技术栈使用主流的Java + Spring Boot + MyBatis,前端使用node + Ant Design。

 

最新版本JeecgBoot2.2.1,发布于2020年7月13日,包括多项功能优化,支持Docker一键部署。

 

2,JeecgCloud

Jeecg Boot的微服务版本,基于Nacos服务注册和发现框架。

 

最新版本1.0.0 Beta,发布于2020年5月21日。

 

3,JeecgUniApp

一站式跨平台,完整的移动解决方案,采用Uniapp+ColorUI 框架,APP、小程序、H5多终端适配。

 

版本1.0.0 Beta,发布于2020年6月8日,最新改版上线于8月17日。

 

4,JeewxBoot

基于Java + Spring Boot开发的微信管理平台,采用插件机制,支持公众号、小程序、第三方平台,包括公众号基础管理、群发、系统权限、抽奖活动、小程序官网等功能。

 

最新版本1.1.0,发布于2019年12月5日。

 

5,JeewxAppCMS

基于wepy语言开发小程序,包含CMS网站基本功能,快速开发应用。

 

最新版本1.1.0,发布于2020年5月30日。

杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进

 

 

四,软件工程实践改进

JeecgBoot功能强大,社区活跃,版本发布及时。但是当看到JeecgBoot版本升级说明不能做到平滑兼容时,就有点感概了。

 

“JeecgBoot属于平台级产品,每次升级改动内容较多,目前做不到平滑升级。”

 

杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进

作为忠实用户,如果有新版本发布或者重大问题修复,是非常希望能够平滑升级功能的。从几方面提一些建议。

 

1,代码质量保障,单元测试

打开JeecgBoot工程,仅有两个单元测试,而且不能够直接运行通过,需要准备好依赖环境。

 

杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进

单元测试好处,欢迎补充:

  1. 保证代码质量,及早发现bug。
  2. 修改过的bug,避免再次发生。
  3. 改动代码时,避免引入新bug。
  4. 回归测试,保障功能兼容。

 

如何写单元测试?Java开发时,常用JUnit + Mockito,使用起来非常高效。

 

杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进

2,Git发布版本管理

Git提升团队协作水平,团队架构和代码管理相对应,功能开发、代码合并、测试发布,分支和标签配合使用,清晰高效。

 

杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进

在并行功能开发较多时,上线顺序不完全确定,结合多个分支,完成测试和发布版本时,打上对应标签。

 杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进

3,SQL脚本版本化管理

和代码对应的数据库SQL脚本,也应该包含在Release Tag中,建议引入Flyway。

 

杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进

Flyway是一个数据库版本化管理工具,通过SQL脚本实现DB Migration自动化升级,支持独立运行,也可以和构建工具或者Spring开发环境集成。

 

杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进

4,自动化部署,Docker-compose资源编排

打包Docker镜像常采用的两种方式:

 

一种是本地编译,然后将得到的jar包文件加入到Docker镜像中,这种方式速度较快,多用于本地开发测试。

 

另一种就是Dockerfile包括完整步骤,从编译源码开始,不依赖本地环境,全量构建,这种方式经常配合构建服务器,耗时较长,用于发布部署。

 

为了提高开发测试效率,经常配置两个Dockerfile。

├── Dockerfile

├── Dockerfile_ce

 

杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进

5,持续集成,Docker镜像自动构建

充分利用免费的阿里云容器镜像服务,配置持续集成系统,实现Docker镜像自动构建功能。

 

杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进

登录阿里云容器镜像服务,增加Docker镜像,配置代码源,增加构建规则,指定Dockerfile路径。

 

当有代码提交时,将触发构建,Docker-compose.yml引用镜像,实现自动更新部署。

杰克布JeecgBoot低代码开发框架,优秀的国产开源项目,软件工程实践改进