在 TinyEngine 开源以来,我们发现很多用户基于自身业务的场景,会对低代码引擎有定制化的需求,比如基于业务定制特殊的插件,定制设置器、出码定制等等。 一开始,我们提供扩展的方式很简单,用户只需要 fork 我们的开源代码,直接修改即可,这种方式的优点是:用户定制的自由度高,定制方式也简单,可以深入源码进行定制修改。同时,这个方案面临着一个问题:随着定制化程度的加深,低代码平台二次开发者对官方项目代码的修改程度也逐渐增多,与此同时,TinyEngine引擎官方在慢慢的增加新特性,以及修复 bug,导致 fork 出来的代码与官方引擎项目差异越来越大,同步我们的新特性以及 bug 的时候,冲突越来越多。
于是,我们需要一种新的架构,让用户既能够同步我们低代码引擎的新代码(新特性+bug修复),同时能够能够基于自身业务属性,对插件、设计器、布局、出码等等方式进行定制。
基于这个需求与思路,我们设计了新的可扩展架构——洛书架构
- 提供 cli 工具,使用 cli 快速创建出来基于 TinyEngine 引擎的低代码平台。
- 提供一个灵活的 Layout 布局组件,让用户可以选择布局、定制布局。也可以传入自实现的布局。
- 将插件拆分成元服务+元应用的定制形式,并提供配置、替换的能力。
- 提供一个注册表机制,让能够配置元服务、元应用,并加载到TinyEngine低代码引擎中。