简介
前言
该项目是一款低代码设计框架,项目开始于2021年12月份,并在2023年4月份第一次在github上发布,与此同时同步到远程maven仓库之中。在经历近一年的迭代后,如今该框架已经趋于成熟,准备从2024年2月份开始在github上更新后续的版本。目前较为稳定的版本为4.4和5.0,4.4版本主要用于java 8,5.0+则是java 17以上的项目,后续将不再维护jdk1.8相关版本。
介绍
json-script-rule是一款低代码设计框架,之所以说它是设计框架,是因为它更倾向于程序的设计和拆分,通过将一些通用的程序片段封装成插件,之后再对它们进行调用来实现一些较为复杂的应用场景。封装是在后端实现的,而调用方则不确定,有可能是前端,也有可能是其它应用服务。调用方式为json脚本,在json字符串中输入各种参数指令并发送给后端插件处理,整个调用过程感觉起来有些类似命令式的,后端则通过设计和解析命令的语法最终达到功能的实现,整个开发过程像是脚本命令一样,而这也是它与众不同的地方。不过要实现这种令人耳目一新的开发模式不仅需要借助这款应用框架,还需要开发者拥有一定抽象设计插件的能力,能够将一些代码片段合理的设计并封装起来,最后通过协调多个代码片段来完成各种不同的功能。
要想了解json-script-rule这款应用框架首先需要了解两个重要的思想,如下
- 脚本调用:是指后端的java代码片段由调用者通过json脚本指令来调用。
- 面向规则:面向规则编程其实是一种编程思想,开发者需要提前将一些代码片段抽象设计成单独的插件提供给调用者来应对各种不同的需求,最终实现命令式开发的风格。
优势
相比较于传统的开发模式,json-script-rule这种应用框架有如下九大优势
- 跨应用:它独立于项目应用框架,如你的项目orm框架无论采用的是jpa或者mybatis又或者是hibernate相互之间都不会受到任何影响。
- 低代码:与传统开发不同,它采用的是命令式编程思想,因此开发一个功能往往只需要几秒钟,所以无论是在开发效率上还是使用上都优于传统开发模式,不限于代码的可读性和可扩展性。
- 免发布:新增或修改功能时只需要调整json字符串指令即可,因此改动是在调用端而非封装插件的服务端,因此也就不需要发布了
- 跨项目:插件的封装设计通常基于实际的业务场景,因此插件的设计应该是具有通用性的,不拘泥于某一个项目的,借助这款应用框架,任何一个开发者都可以将自己封装的插件开源给其它项目使用,所需要做的仅仅只是写一个java类。
- 轻量级:因为是低代码开发,因此它不会像传统的开发模式那样生成po vo dto,甚至包括mapper mapstruct等大量的无关紧要的代码,这会让我们的应用程序变得简单以及轻量级。
- 低耦合:插件不耦合于你项目中的业务代码,你可以把它看作是一个外部插件,因此这些外部插件可随时插拔,且这些插件可以由你来自定义开发。
- 重设计:json-script-rule是一款程序设计框架,它能够帮助开发者提高代码的质量,简化业务的复杂性,增强开发者的抽象思维,一劳永逸的解决项目上的问题。
- 功能全:框架内置了很多功能,如查询,修改,增加,删除,导入,导出,加密,签名,数据脱敏,日志国际化,RPC调用,自定义开发组件等等,除此之外,后续还会不断推出新的功能和插件,为开发者提供便捷的开发方式,为企业降本增效。
- 跨语言:由于插件的调用方可以是任何使用json的应用端,因此不