对于低代码的一些思考
最近看了两篇文章,关于低代码原理以及网易云基于AST的低代码方案,我不禁想结合自身做一些总结。
我接触过的低代码
- 后台管理系统-基于json格式的表单渲染器
- 当时有个业务需求是后端定义组件类型,前端基于类型值进行渲染
- nps 系统 (后台设计器+前台响应式展示)
- 类似于微软表单 ,实现了单选、多选、输入框、单选量表和选项的跳转联动等功能
- 利用react-dnd 进行拖拉拽由运营人员进行布局
- 活动页系统(后台设计器+前台响应式展示)
- 基于模板式的开发(非模版的方式对于运营来说操作难度比较大,并且设计要求高,运营自己拖出来的页面比较丑)
- 后期迭代使用了react-page 低代码活动页开源框架
这些我接触的低代码基本都是基于schema来定制一套自己的DSL,然后以json格式保存到数据库,属于比较传统的低代码方式。
优点是
- ROI比较高,无需过于复杂的系统;
缺点是
- 不好扩展,如果遇到组件间的联动就需要一些硬编码工作
- 有时候可能用到一些其他组件来配合,我们需要用到「出码」然后复制代码到本地开发,然后就完全脱离了低代码体系,无法再转换到低代码平台
新的方向
- D2C
- AI生成代码
- 基于AST来做
- 它无需中间层的schema(DSL)
- 它能解决json与本地代码割裂为2套体系的问题
- 因为他就是 code和ast, 用户操作组件后 影响的是ast, ast再生成代码;如果二次开发代码,也可以直接使用
参考文章
https://mp.weixin.qq.com/s/ZlVBv8EgV3FBg9fmuY8DDA 面试被问到低代码细节?听我这样吹(含架构和原理)
https://juejin.cn/post/7273051203562749971 网易云音乐 Tango 低代码引擎正式开源!
Tags: