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

保卫大萝卜
• 阅读 1071

低代码引擎是什么?

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

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

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

低代码引擎有什么优势?

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

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

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

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

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

底层协议标准化

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

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

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

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

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

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

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

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

中后台页面设计器

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

小程序设计器 阿里低代码引擎 LowCodeEngine 正式开源!

流程设计器

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

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

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

  • 无序列表提供了一套基础的低代码物料,对于新低代码平台来说可以开箱即用。
  • 无序列表提供了将现有的源码组件转化为低代码组件的能力,之后即可在低代码引擎中使用。
  • 无序列表提供了低代码组件开发能力,包括低代码组件项目初始化、低代码组件调试、低代码组件配置等能力。

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

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

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

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

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

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

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

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

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

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

《低代码引擎技术白皮书》链接

点赞
收藏
评论区
推荐文章
保卫大萝卜 保卫大萝卜
2年前
低代码,虽然有点毒瘤,但管用就好
最近看到不少低门槛开发软件应用的新闻:“30分钟搭一款核酸检测登记应用”、“2小时紧急上线抗疫求助应用”、“00后低代码开发者毕业月薪过万”等等。近期,广西防城港市出现疫情,全市展开一轮大规模核酸检测。柳钢工人彭期文在钉钉上仅用30分钟就通过低代码搭起一款“核酸检测登记”应用,原本需要大规模的排队登记,如今手机一扫,3小时就能完成7000余人
徐小夕 徐小夕
3年前
2B 领域下的低代码探索之路
前言大家好,我是钉钉宜搭前端一个小团队的负责人,在阿里做了五年的低代码。今天的分享我们不讲技术细节,主要会分享下我们这五年的探索过程和当前的市场分析,希望能给大家带来一个对低代码搭建不一样视角的认识。什么是低代码说起低代码(LowCode)这个词,是在2014年,ForresterResearch第一次正式使用低代码来描述这个市场
低代码开发平台 | 低代码的衍生历程、优势及未来趋势
通过简单的拖拉拽操作,而不用编写复杂的代码,实现少写代码或者不写代码,就能快速高效完成业务目标。低代码平台演进1.低代码概念低代码是无需编码(0代码)或通过少量代码就可以快速生成应用程序的开发平台。通过可视化进行应用程序开发的方法,具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。2.低代码衍生历
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
企业如何选型低代码才能避免踩坑 | 飞速低代码
​低代码开发平台该怎么选型?现如今,低代码开发平台又再次进到公众视野。对于企业来说,使用低代码开发平台不仅仅意味着数字化转型的开始,也意味着内部开发效率提升、业务流程梳理更加清晰。市场上的低代码平台非常多,企业应该怎么选型才能避免踩坑呢?1、软件开发的灵活性企业不断发展扩大,标准化的产品软件已经难以满足企业的需求,在这种情况下,低代码平台的灵活性就显得十分重
blueju blueju
2年前
阿里低代码引擎 | LowCodeEngine - 多页面管理功能(提供完善 github 代码示例)
前言自阿里低代码引擎lowcodeengine发布后,经常能看到钉钉社区、githubissue、掘金等博客有多页面管理的需求。我们在基于阿里低代码引擎lowcodeengine二开低代码平台的时候也遇到了这个问题,并付诸了实践。其实阿里低代码引擎lowcodeengine本身是支持该功能,提供了openDocument、documents、
企业级飞速低代码开发平台 | 产品介绍 | APass平台 | 全场景适用
​1、低代码是什么低代码通常是指APaas产品,通过为开发者提供可视化的应用开发环境,降低或去除应用开发对原生代码编写的需求量,进而实现便捷构建应用程序的一种解决方案。因此,低代码平台也常备成为APaas平台。广义上低代码概念涵盖所有能够完成代码的集成,减少代码开发的应用过程和服务,但狭义上低代码的概念更倾向定位满足企业业务端应用需求,通过可视化界面,利用少
企业级飞速低代码开发平台 | 低代码并不意味着低风险
在过去的几年中,低代码和无代码工具以及平台在企业中兴起。2021年,Gartner魔力象限在关于低代码的报告中指出,41%的非IT从业人员使用低代码/无代码工具来定制、构建数据,或提出技术解决方案。同时Gartner预测到2025年底,将有一半的新增低代码用户来自从事非IT行业的商业客户。​低代码/无代码工具提供支持拖放的交互界面,使得即使非程序员也能够创
Stella981 Stella981
3年前
JNPF低代码开发平台—SpringCloud微服务解决框架
JNPF低代码开发平台总体介绍JNPF低代码开发平台(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.yinmaisoft.com%2F%3Ffrom%3Dseo)是由引迈信息完全自主研发的专业的前后端分离java低代码快速开发平台,JNPF
飞速 | 巨头下场,生态聚合,低代码不再是个伪命题
和许多坐在风口上的概念一样,“低代码”似乎在一夕间变得火热起来,但也饱受争议。“低代码将替代开发者”、“低代码是伪命题”的说法,频频被业内人士拿来讨论。如今,随着更多企业的入局,中国低代码市场显现出巨大的增长空间,“该不该做低代码”已不再是个问题。近日,字节跳动收购低代码厂商“黑帕云”,钉钉提出在低代码APaaS的基础上进一步做BPaaS(Business
保卫大萝卜
保卫大萝卜
Lv1
月下飞天镜,云生结海楼。
文章
3
粉丝
4
获赞
8