低代码引擎
在搭建场景下需要的基础能力,包括协议部分、设计器基础框架、扩展机制、设置器机制、快捷键管理、扩展点等底层设施
搭建协议(schema)
低代码、零代码产品通常会使用基于 JSON 的 Schema 来描述界面及其逻辑。搭建协议指的就是这一份 JSON Schema 的协议,目前我们使用零代码、低代码通用搭建 Schema作为基础的协议
物料协议(material schema)
物料协议是用于描述低代码、零代码开发过程中使用的组件库、组件、依赖等物料的内容,目前我们使用零代码、低代码通用物料 Schema作为通用的物料协议
设计器(designer)
低代码平台会提供一个搭建页面帮助用户通过可视化的方式设计出满足期望的页面,为了与编写代码的编辑器做区分,我们将这个页面称作 设计器,它使用了一种 贡献点的机制将一个庞大的搭建页面拆分为多个子模块,提供了扩展的注册和分发等能力,基础布局和基础控件的定制能力
运行时(runtime)
通用运行时的作用是将符合零代码、低代码通用搭建 Schema渲染成不同语言对应的视图组件,它提供了一种插件机制,允许用户动态扩展这份协议满足定制化的诉求
渲染器(renderer)
渲染器是运行时的封装,它结合一系列的运行时插件在业务消费侧将 Schema 渲染出视图
模拟器(simulator)
将搭建 Schema 渲染成视图的网页,它的内部会调用渲染器解析搭建 Schema
设置器(setter)
设置器的作用是将零代码、低代码通用物料 Schema渲染成可以可视化配置的面板,分为「通用设置器」→「通用低代码设置器」「通用零代码设置器」→「自定义设置器」三层结构,它提供了自定义扩展的能力,业务方可以根据需求进行定制化开发
智能推导(intelligent)
根据接口定义文档(swagger)智能推导出对应的视图,帮助用户快速搭建出页面
贡献点(contribution)
贡献点定义了钩子,允许扩展某些东西。通过一个基础的贡献点定义,可以让一个能力的完整实现分散到各个子模块的贡献点文件之中。低代码引擎底层的扩展都是通过贡献点的方式实现的
扩展(extension)
扩展是通过贡献点的方式实现的,通常指 设计器的扩展,比如顶部导航栏、属性面板等
插件(plugin)
这里特指 通用运行时插件,通用运行时提供了一种插件机制,允许用户动态扩展这份协议满足定制化的诉求
骨架(skeleton)
骨架是设计器的基础,它提供了基础的布局能力和组件,不同类型的骨架会提供不同的布局 插槽 ,比如下图是千象搭建编辑器的骨架,它被拆分为红色方框内的各个插槽
控件(widget)
插入设计器 骨架 对应插槽中的视图部分,比如「资产扩展」、「大纲扩展」
服务(service)
服务是为其消费者提供功能的对象。服务与其消费者之间的约定是由接口描述的。服务的任何实现都必须根据接口文档实现。低代码引擎中的任何设计器扩展都可以提供或者使用服务。我们提供了一组默认服务,例如 SchemaService,它是零代码、低代码通用搭建协议在低代码引擎中运行的承载体,在设计器上做的 CRUD 和编排等操作本质上是在调用 SchemaService 提供的 API 操作搭建协议,用户也可以提供和使用自己的自定义服务
模型(model)
设计器扩展的视图部分是通过 React 开发的,在视图的状态管理方面我们统一使用 mobx + mobx-react-lite,管理状态的部分我们称为模型