阿里低代码引擎LowCodeEngine正式开源

简介: 低代码引擎是一款为低代码平台开发者提供的,具备强大扩展能力的低代码研发框架。由阿里巴巴前端委员会、钉钉宜搭联合出品。使用者只需要基于低代码引擎便可以快速定制符合自己业务需求的低代码平台。

image.png

低代码引擎是什么?

低代码引擎是一款为低代码平台开发者提供的,具备强大扩展能力的低代码研发框架。


低代码引擎由阿里巴巴前端委员会、钉钉宜搭联合出品。使用者只需要基于低代码引擎便可以快速定制符合自己业务需求的低代码平台。同时,低代码引擎还在标准低代码设计器的基础上提供了简单易用的定制扩展能力,能够满足业务独特的功能需要。


为什么我们要开发低代码引擎?2019 年 7 月,在阿里巴巴前端委员会的技术资产盘点中,我们发现,集团内部已经有几十个具备低代码能力的平台在各业务中广泛使用了,而这些平台底层是基于 3 至 4 套基础能力或 SDK 来实现的。而这些能力中很多都是可以复用的,比如下文提到的低代码引擎的几大核心能力:入料、编排、渲染、出码。这些能力的重复建设很耗费人力,而每一个 SDK 所投入的人力有限,不足以将其功能打磨精细,导致这些 SDK 大多数都处于低水平重复建设中。在思考解决方案的过程中,我们认识到,不可能将所有的低代码平台收敛至一个,因此我们决定将低代码能力下沉,将低代码技术体系拉通共建,制定了统一底层协议,基于标准打造出低代码平台的基础能力,并在此基础上提供定制化能力,最终形成了我们低代码引擎。


低代码引擎有什么优势?

低代码引擎提供了低代码平台研发所需的基础技术能力,是一款面向前端研发人员的技术产品。如果有低代码产品的研发诉求,例如:

  • 业务有独特的需求,市面上的低代码平台都不满足需求,需要打造一款新的低代码平台。
  • 需要将低代码平台的研发能力集成到已有系统中。


以上两种情况,如果使用低代码引擎,可以在极短时间内完成开发低代码设计器的开发,大大降低了低代码平台的研发难度和成本。而根据定制化程度的不同,工作量可以由传统的几十人/月压缩到几人/月。


为了支撑成百上千个低代码平台,我们将低代码技术分成了四层,通过分层架构来支撑低代码平台开发者进行业务上的定制和扩展。

image.png

底层协议标准化

image.png

我们定义了《低代码引擎搭建协议规范》和《低代码引擎物料规范》作为低代码引擎的底层协议。这两份协议定义了 3 方面的内容,分别是术语、结构和行为。

  • 术语是我们沟通的基础,概念相通,我们才能高效沟通。我们根据物料的颗粒度,定义了基础组件、区块、低代码组件、模板等术语,另外还包括低代码生产过程中一些模块名称,比如编辑器、画布、事件绑定、数据绑定、渲染、出码、设置器之类的术语。
  • 结构,包括页面描述的结构,如何定义页面组件树、数据源、生命周期、页面状态等等。
  • 行为,不同的业务场景,我们对物料的配置、约束、扩展各不相同,所以我们在物料描述中有各种各样的钩子来支持自定制。


正是基于以上几份协议,让上层的互通成为可能,让“概念互通,物料互通,生态互通”成为了可能。


强大的扩展能力

下图是低代码设计器的骨架结构,而设计器的扩展能力就是围绕以上的五大区域来进行的。可以通过插件、物料和设置器的扩展能力来对所需的区域进行定制。

image.png

低代码引擎孵化的低代码平台可以用以下的公式来理解:

 低代码设计器 = 低代码引擎 + 设计器插件 * n + 物料 * n + 设置器 * n


下面三种典型的低代码设计器,就是在低代码引擎的基础上通过不同的插件、物料、设置器组合而成。

image.png

中后台页面设计器

image.png

小程序设计器

image.png

流程设计器

当然还有更多定制化的低代码平台设计器这里由于篇幅就不一一列举了。其中中后台页面设计器中,通过插件、设计器和物料定制的区域如下:

image.png


插件定制

设计器定制的依赖之一就是设计器插件,我们可以直接使用生态中流通的插件,也可以根据我们自己的需求进行插件的开发。通过编写不同的插件同引擎核心模块进行交互,在满足多样化的功能的同时,同时也与低代码引擎解耦。


物料定制

低代码平台中的物料也是十分重要的一个部分,我们提供了三个方面的解决方案:

提供了一套基础的低代码物料,对于新低代码平台来说可以开箱即用。

提供了将现有的源码组件转化为低代码组件的能力,之后即可在低代码引擎中使用。

提供了低代码组件开发能力,包括低代码组件项目初始化、低代码组件调试、低代码组件配置等能力。


设置器定制

设置器是指在低代码设计器中设计一个组件时,我们是需要对组件进行可视化配置的,而每一项配置都需要一个设置器,比如我们的配置是一个文本,我们需要的是文本设置器,我们需要配置的是数字,我们需要的就是数字设置器。


下图中的“按钮内容”和“图标尺寸”的配置就分别是文本设置器和下拉框设置器。

image.png

当标准的设置器无法满足大家的个性化需求时,标准设置器也提供了定制扩展能力。开发者可以研发自定义的设置器并在组件中使用,使得组件能支持更个性化的配置能力。


配套生态开箱即用

为了帮助大家更低成本的研发低代码平台,除了低代码引擎,我们还开源了配套生态(基础物料、基础插件、基础设置器、工具链),提供更多开箱即用的能力。更多的生态建设还在路上,敬请期待。


商业化产品验证

钉钉宜搭是阿里巴巴自研的低代码应用开发平台,基于阿里云的云基础设施和钉钉的企业数字化操作系统,为每个组织提供低门槛、高效率的数字化业务应用生产新模式。在宜搭上生产的每个应用天然具备互联互通、数据驱动、安全可控的特点。


钉钉宜搭前端底层就是依赖于低代码引擎的能力进行研发的。除此之外,低代码引擎还支撑了阿里集团内部 100多个低代码平台的建设。相信之后会有更多的商业化产品使用低代码引擎。


为什么要开源?

低代码平台的开发一直需要较长时间的基础性开发工作,费时费力,我们希望通过开源低代码引擎让更多的垂直行业低代码更容易孵化,引入标准+SDK模式建立更多的心智打造。通过社区中开发者的使用,可以加速低代码标准的形成,也可以帮助我们改进低代码引擎,丰富低代码平台的场景,扩展创新能力。


通过拥有低代码引擎,可以快速的拥有一款定制的低代码平台。在阿里内部已经孵化了100种以上各种各样的低代码平台了。而今天,低代码引擎也迎来了自己的一个关键节点,于 2022.3.23 正式对外开源。快到我们的官网进行围观吧。


彩蛋

低代码引擎在集团内部已经建设多年了,研发人员也经历了很多代,我们期望能把其中的技术细节、架构设计和技术思考呈现给大家。我们提供了《低代码引擎技术白皮书》,希望通过对低代码技术原理进行一个全面的介绍,让大家对低代码引擎有一个更加全面的认识。当然也希望借此能够吸引到更多志趣相投的小伙伴通过开源社区进行共建,一起加速低代码行业快速发展。除此之外,我们也希望社区的小伙伴在了解低代码引擎之后, 能结合自己的经验或者低代码业务场景发现我们的不足,提出改进建议,我们将感激不尽。

《低代码引擎技术白皮书》下载地址:https://developer.aliyun.com/ebook/7507


关于本文

作者:@刘菊萍(絮黎)

原文:https://mp.weixin.qq.com/s/T66LghtWLz2Oh048XqaniA

相关文章
|
Web App开发 前端开发 JavaScript
看看人家 阿里的 低代码引擎,多优雅!
特性 引擎协议 使用示例 工程化配置: cdn 可选方式:
|
3天前
|
SQL 数据可视化 关系型数据库
开源低代码平台推荐!10款优秀的开源低代码平台!
本文介绍了10款免费开源低代码开发平台,包括JeeLowCode、Ample、WaveMaker等,它们通过减少代码编写量,提供高效、灵活的开发工具,帮助企业快速构建复杂应用,支持企业数字化转型。各平台特色鲜明,适用于不同开发需求和应用场景。
|
1月前
|
数据可视化 持续交付 开发工具
利用低代码平台加速应用开发
【10月更文挑战第6天】低代码平台(Low-code platforms)近年来在软件开发领域迅速崛起,通过可视化编程工具和预构建模块让开发者快速构建应用程序,无需编写大量传统代码。本文介绍了低代码平台的概念、优势及实施步骤,包括加速开发、降低成本、提高可维护性和促进协作等。此外,还探讨了其在快速原型开发、业务流程自动化和跨平台应用开发中的应用,并提供了明确业务目标、利用现有模板、自定义组件及持续集成部署等实战技巧。低代码平台简化开发流程,助力快速交付高质量应用,未来将在软件开发中扮演更重要角色。
|
6月前
|
移动开发 数据可视化 搜索推荐
深入探索:主流低代码开发平台的应用场景及开发流程
低代码虽然强大,但并非万能。假如一家企业引进了低代码,就让其开发团队“下课”,把开发控制权完全交给业务团队,那他们在达成目标上就会困难重重。但对于某些特定的场景,低代码绝对是一项强大的技术。它能迅速补齐能力短板,为部分用户群体的核心软件构建创造新的可能,还能让业务团队按需自助搭建应用。
|
前端开发 JavaScript API
低代码引擎可以开发应用了
低代码引擎可以开发应用了
|
安全 关系型数据库 Java
低代码平台深度剖析
低代码平台深度剖析
225 0
|
运维 数据可视化 搜索推荐
盘点:2022年国内比较主流的低代码开发平台有哪些?
织信Informat是面向业务人员的低/零代码平台,具有高度灵活的“数据+权限+流程”动态信息管理模型,用户不需要依赖代码开发,可以通过自主配置的方式,快速搭建企业运营所需的各类管理系统,亮点是提供永久免费版试用。
|
数据可视化 JavaScript Android开发
低代码引擎 LowCodeEngine 茁壮成长的一年
低代码引擎 LowCodeEngine 茁壮成长的一年
1798 0
|
前端开发 JavaScript API
什么?低代码引擎可以开发应用了
什么?低代码引擎可以开发应用了
551 1
|
运维 数据可视化 数据挖掘
阿里开源项目LowCodeEngine低代码开发引擎
阿里开源项目LowCodeEngine低代码开发引擎
下一篇
无影云桌面