这一篇,我们看一下阿里巴巴在中后台应用场景的低代码建设情况,事实上,相对于上一篇呈现的C端场景(营销活动为主),中后台方向在低代码方面做了较多的探索。
对于低代码/无代码本身的更多探索,这一时期表现为面向中后台业务场景的各类搭建系统建设上。比较有代表性的包括了蚂蚁金服的“金蝉”系统、“云凤蝶”系统,以及淘系的“乐高”系统、以及后来孵化的宜搭平台、聚焦在特定场景的Formly(formilyjs.org/),以及近期开源的Lowcodeengine等。
金蝉、云凤蝶与乐高
对于蚂蚁、淘宝这类事业部,内部的各类中后台支撑系统动辄上千的规模,随着业务的发展,每年新增的页面数量是非常可观的,中后台系统大部分以信息管理为主,这些页面总体复杂度一般,此前这类相对缺乏挑战的开发工作大部分由前端工程师来承担,这导致了一定程度上人力的浪费。这些内部模块具有一定规律性的页面非常适合用低代码的方式来搭建完成。
金蝉系统是比较早的尝试用低代码的方式辅助非专业前端工程师进行中后台页面搭建的生产力工具,曾经一度还尝试在蚂蚁金服投资的伙伴公司中做过付费性推广,后来随着主创人员的离职以及其他系统的崛起逐渐淡出视野。
云凤蝶是蚂蚁金服体验技术部的重点研发项目,是面向中后台产品的快速研发平台,主要用户面向工程师,使用场景专注在标准化的中后台产品研发,目标是为了提高效率。云凤蝶的核心思路是将组件生产和组件组装这两部分工作进行职责分离,通过建立一条组件组装流水线,打通 npm 组件的一键导入流程,从而完成一条产业链式的分工协作,最终实现规模化的快速生产。
同样是面向研发侧提效的低代码发展路线,淘系出现了“乐高”系统,后来孵化出的开源项目Lowcode-engine(lowcode-engine.cn/)以及阿里云上的宜搭(www.aliwork.com/)。
aPaaS的尝试与IceLuna平台
同上文中从“斑马”到“天马”相似,在中后台业务场景也逐渐形成了一些PaaS平台化的解决方案,这里我们重点看一下淘系技术部有代表性的Iceluna平台。
介绍Iceluna之前,需要提一下业内知名颇高的飞冰(ice.work/)体系,飞冰提供了较为完整的中后台前端研发解决方案,对于基础类库、微前端、中后台组件库(fusion/antd)、领域模板、搭建体系等都有较好的支撑,帮助快速构建中后台应用,飞冰广泛服务于阿里巴巴众多面向运营、商家以及消费者端的业务。
Iceluna是淘系技术部飞冰系列中的中后台平台级搭建产品,其负责人也是阿里集团中后台搭建协议标准规范的主导者,从其整个规划以及现有能力、辐射影响力等各方面来看,Iceluna是比较有潜力成为阿里巴巴集团统一的低代码aPaaS平台的。Iceluna的的定位包括:中后台通用搭建产品、全链路低代码开发平台、PaaS 平台(全托管的平台模式以及对外输出SDK的中台模式)。
架构方面,从下图(图片来自阿里淘系营销中后台团队的月飞的分享,在此致谢)来看,Iceluna体现在以下几个方面:后端服务、搭建基础设施、PaaS 服务、研发中心、搭建产品5个层次:
IceLuna架构
后端服务层:基于 Node.js 的 Midway 框架实现的一个 Server 层,提供搭建平台数据接口和 Socket 服务。
搭建基础设施层:目标提供搭建编辑器的开发环境。核心包含中后台搭建描述协议、低代码编辑器、插件生态、物料生态 4 个模块能力建设;
PaaS 服务层:提供搭建编辑器的运行环境,使其能具备有完备的搭建配套服务能力。
研发中心层:业务研发的主阵地,提供云端一体化的研发流程。包含站点中心,应用中心,物料中心,数据中心 4 个功能模块。
场景化应用层: Iceluna 作为 PaaS 平台或中台,最终孵化的各个垂直领域的搭建产品。
从以上架构来看,Iceluna与上文中的天马平台有诸多相似之处,两者的目的都是作为PaaS平台从而在上层孵化更多的场景化搭建应用,在平台层提供了各类规范、相关引擎(搭建引擎、构建引擎等)、各类配套的中心(物料市场、应用中心、数据中心等)、扩展机制、SDK接入等等。
Iceluna大概是2016年左右开始立项,目前服务超过1000+的内部工程师、上线应用500+、页面10000+、人均效能提升200%以上。作为aPaaS平台,孵化出10余款搭建产品。
IceLuna比较有特色的方面包括:
插件化的编辑体系
IceLuna的搭建设计器上所有的功能模块均是以插件的形式存在。包括编辑器上常规一些的大纲树、属性/事件/样式/数据等插件,以及模型驱动、图像识别、数据驱动、逻辑编排、流程编排等。
设计器的隔离性设计以及实时调试
IceLuna的安全沙箱机制做的还不错,搭建页面与编辑器本身Iframe隔离,互不干扰,并支持独立主题设定。
物料可搭建
这里没有了解到实际的数据,但从规划来看,这个方向是正确的,关于搭建物料以及总体的合理占比等话题,在下文中会谈到。
多人协作服务
在支持多人协作方面,Iceluna提供了编辑锁的机制,文件锁包含了页面锁、组件锁、应用级别公共文件锁等控制。
在多分支并行方面,Iceluna实现了基于描述协议 Schema 的代码的冲突解决机制。
搭建效能衡量体系
这部分是Iceluna比较有特色的地方,Iceluna采用了霍尔斯特德软件复杂度测量算法模型,这个算法模型可以将搭建页面时产出的 Schema 作为一个输入,它通过 Schema 里面的如表达式个数,代码长度等数十个算子,可以计算出 Schema 的复杂度以及预计开发时长。平台通过埋点,操作日志等手段记录每一位研发人员在某个页面上的操作记录,在 2 次操作间隔时长在 10 分钟之内的算有效开发时间段,有效时间段的总和就是实际开发时长。通过计算公式 研发效能 = 预计开发时长/实际开发时长 就可以知道该用户开发效能是提升还是降低。在 iceluna 平台上数据中心会有专门一个效能中心,来反馈整个平台的总体人均研发效能、个人研发效能等数据。
感谢阅读,下一篇我们讲述阿里巴巴在AI-Code等方向的低代码系统建设。
欢迎访问免费、通用的无代码开发平台Mybricks ,体验图形化编程的乐趣