低代码构建平台的思考

922 阅读2分钟

最近一直在做低代码构建平台相关,下面是一些思考

低代码构建平台分类

需求使用者

不懂开发的运营(活动落地页)

开发人员(支持二次开发)

页面生成方式

UI图生成静态页面(mitosis)

拖拽配置生成页面(h5dooring)

存储方式

JSON Schema(针对特定前端框架定制)

DSL(支持不同框架)

HTML(生成单独页面)

技术实现方式

h5开发(react、vue)

canvas画布开发(fabric)

展示形式

文档编辑器

图片编辑器

视频编辑器

投放类型

h5(webview)

pc(搜索、表格)

可视化大屏

案例

下面的图片借用开源的h5dooring

编辑器设置页面

组件拖拽到画布中,设置组件的属性,发布生成静态页面

页面有编辑器设置页面,h5中支持SSR、CSR

技术实现

按需加载

随着开发组件的增多,线上环境考虑性能和成本,需要按需加载,如umi中的dynamic类似,原理是通过动态import组件,webpack打包之后生成单独文件,页面中使用到组件时,才加载组件(动态创建script,通过window变量访问)

SSR的按需加载,我司通过webpack-loader实现了SSR的按需加载

组件分包

随着开发组件的增多,开发人员也很多,项目过大,开发协同,上线排队都是个问题,这个时候就要脚手架管理组件分为组件进行单独开发,单独上线,编辑器、组件、属性管理也需要抽离单独项目减少耦合,可能还要提供一个能力给外部人员进行功能扩充组件,支持他们进行组件的扩展,单独上线

csr

webpack打包组件为umd,commonjs2规范

csr

csr通过运行时动态创建script加载组件

csr

编译时和运行时处理方式,都可以,互有取舍