chaojidan

导航

组件,编辑器,工具(平台)三者之间的关系

组件,顾名思义就是编辑器的基本组成部分,比如:柱状图,文本框,下拉框等组件

编辑器,可以输出一个完整产物的工具,比如:页面编辑器,移动端编辑器,大屏看板编辑器,建模编辑器等

工具(平台),可以把编辑器的产物进行互相的引用,串联,输出一个完整的应用,这个应用可以部署运行时

 几个说明:

1.工具(平台)有几个编辑器,取决于你在创建这个项目时,选择的用途,比如:你的这个项目是一个移动端的项目,那这个工具只会包含移动端编辑器,其他编辑器不会加载进来,当新建移动端页面时,就会打开基于flutter开发的移动端编辑器,用户可以对这个页面进行拖拉拽的构建

2.模型是数据的来源,用户需要根据业务的需求把数据模型通过建模的编辑器构建出来

3.逻辑流是逻辑处理的编辑器,用户可以通过这个编辑器把页面中需要逻辑处理的部分构建出来

4.菜单管理是菜单项与构建出来的页面进行关联的编辑器,这个编辑器比较特殊,就是一个普通页面

5.编辑器里面的组件是通过动态加载的,跟编辑器的代码仓库不是同一个

6.编辑器的属性区,会根据用户选择组件的不同,而渲染出组件对应的属性

7.通过抽象,大部分的编辑器除了编辑区不一样,其他部分都可以复用,因此,整个工具除了编辑区的逻辑不一样,其他地方的逻辑都是一样的

8.为了做到编辑器的灵活组装,工具的每个公共面板(资源数面板,组件面板,属性面板,以及后续的调试面板,错误信息面板)都是可以复用的,如果后续开发其他的面板(编译面板,工具栏面板,以及自定义的组件面板),不需要修改任何的代码,通过配置,就可以实现面板与面板之间的调用,这种技术叫做连接定义,我们会内置面板之间连接的代码,程序员只需要按照我们定义的规范,来写面板的代码,写好后,发布就可以实现面板与面板之间的调用

9.针对编辑器我们也做了规范的定义,程序员只需要按照我们定义的规范,来写组件的代码,写好后,发布就可以在我们的编辑器里面使用最新开发的组件,不需要修改其他任何代码,因此这里我们会内置解析组件定义的代码

10.组件的所有属性也是通过定义得来的,属性与属性之间的关系也是通过定义来的,属性区的属性设置器是通过动态加载的,我们维护了一套属性设置器,因此这里我们会内置解析属性与属性之间的关系的代码以及动态加载属性设置器的代码

最终出来的效果:

 低代码平台需要解决很多复杂的点,比如:增量更新的技术方案(为了更好的实现自动保存的功能),数据源的绑定,事件的监听和方法的调用,动画的实现,编辑时和运行时的分离,动态加载,连接定义,组件定义,属性关联,版本管理等等,需要有资深的专业的技术人员进行方案的设计和技术的选型才能为以后节省研发成本,提高产品竞争力打下坚实的基础。

posted on 2025-05-04 09:17  chaojidan  阅读(34)  评论(0)    收藏  举报