/ 低代码

阿里低代码引擎LowCodeEngine初体验

国内大厂阿里于今年开源了内部的低代码引擎LowCodeEngine:

https://lowcode-engine.cn/

ali-lowcode-engine-review-01

低代码开发已经不是新鲜事了,但是,阿里开源的这个项目,为什么叫低代码引擎,而不是低代码平台?
先看看官方的介绍:

低代码引擎是一款为低代码平台开发者提供的,具备强大定制扩展能力的低代码设计器研发框架。
低代码引擎的核心是设计器,通过扩展、周边生态等可以产出各式各样的设计器。它不是一套可以适合所有人的低代码平台,而是帮助低代码平台的开发者,快速生产低代码平台的工具。

ali-lowcode-engine-review-02

看了官方介绍以后,就更是一头雾水了。

我希望通过低代码开发的方式,来解决随着业务发展越来越多的中后台开发需求。那么,这个低代码引擎,是否能满足要求呢?

在经历了几天磕磕绊绊的摸爬滚打开发体验之后,我勉勉强强搭建了这么一个页面:

ali-lowcode-engine-review-03

总结一下阿里低代码引擎:
首先,本文使用低代码引擎代表通用低代码引擎,而用阿里低代码引擎特指阿里开源的低代码引擎项目。

1. 低代码引擎,不是低代码平台

最重要的,低代码引擎不是开箱即用的低代码平台,它是那些不满足于现成低代码开发平台的团队,用于定制自己的低代码开发平台,解决自己的业务开发需求的通用开发框架。

阿里低代码引擎通过对低代码平台系统的功能进行解构,将其分为多个功能模块,并为每个模块定义相应的协议,或者说开发范式,以及模块间的交互方式,以此为基础,提供了一套低代码开发平台的开发框架。

需要注意的是,阿里低代码引擎,目前主要提供的是前端页面的低代码开发的能力。
但是由于该引擎提供了不同功能模块的通用协议,所以,基于这些协议,应该也可以实现其他类型的低代码开发能力,例如后端的API低代码开发能力、移动应用的低代码开发能力等等。

2. 阿里低代码开发引擎

通过阿里低代码引擎的demo项目,可以快速搭建起一个私有的前端应用低代码开发平台。这个平台虽然功能有限,但是也算是麻雀虽小五脏俱全了。

ali-lowcode-engine-review-04

它提供(演示)了低代码平台的核心功能:

可视化编辑器

这是低代码平台的核心功能,没有可视化编辑器,就谈不上低代码开发,具体包括:

  • 组件库
  • 属性配置
  • 数据源管理
  • 简单代码模块

运行时

低代码平台的内核,包括:

  • 页面渲染
    将用低代码方式编写的页面渲染成实际页面
  • 代码导出
    将低代码(lowcode)转换为高级代码(procode),方便二次开发

3. 阿里低代码引擎demo项目只是一个demo

这个demo项目,确实只是一个demo,而不是在生产环境里使用的正式项目。

当然,对于demo项目,提过多要求是过分的。

阿里低代码引擎项目团队显然也很清楚这个情况,所以并没有把它上升到一个正式的低代码平台。

由于是一个演示demo,所以很多地方还不完善,包括不限于:

  • 安装过程中有很多报错提示
  • 缺少常用的功能,例如区块的导入导出、模板的导入导出等

不过,我们可以以此为基础学习低代码引擎,甚至以此为基础开发自己的低代码平台。

4. 阿里低代码引擎的一些不足

目前来说,最直接的不足是,文档还有很多不完善的地方,尤其是缺少一些高级功能的开发示例,导致在体验过程中踩了比较多的坑,花了比较多时间才进入深水区。

5. 最后,你是否真的需要建设一个自己的低代码开发平台?

这个问题有2个层次:

  • 1). 相关业务的procode开发框架很多,我们是否还需要使用低代码lowcode开发?
  • 2). 市面上的低代码开发平台很多,我们是否还需要建立自己的低代码开发平台?

简单的说,通用低代码开发平台,与通用开发框架类似,都是用一套通用的开发方式来解决一系列共同的需求。

所以,当这些通用技术对于业务需求的解决,无法满足,或者快速满足需求时,自建的需求就会被提上议程。

另外,自建框架或者自建平台,并不是解决业务开发瓶颈的唯一方案,甚至不是优先方案。

鉴于这些方案的实现难度,很多时候,优化开发流程,包括工具链,可能是更应该优先考虑的方向。

以上