一百个工程师,内心可能有一百个低代码平台。在一切的一切开始之前,我想先统一一下对低代码平台的认知。
先看一下维基百科的定义:
低程式码开发平台(英语:Low-Code Development Platform,简称LCDP),是一种方便产生应用程序的平台软件,软体会开发环境让使用者以图形化介面以及组态编写程式,而不是用传统的程序设计作法。此平台可能是针对 某些种类的应用而设计开发的,例如资料库、业务过程、以及使用者介面(例如网页应用程式)。这类平台可能可以产生完整且可运作的应用程式,也可能在一些特殊的情形下仍需要编写程式。低程式码开发平台可以减少传统程式码的数量,加速商业应用软体的完成时间。常见的好处是让比较多的人可以参与软体的开发,不只是那些有程式设计技巧的人。低程式码开发平台也可以让设置、训练及布置的初期成本降低[1]。
简化一下就是:使用图形化界面,通过拖拖拽拽的方式,加速应用搭建并降低编程门槛。这也对应了低代码平台的两个重要收益:开发难度降低的同时取得效率上的提升。
我是一个安全运营工程师,和我的同行一样,我有比较多的后台代码的撰写经验。
例如有很多场景都是通过一个脚本/定时任务去持续更新后端数据库中的数据,或者通过大数据组件,做实时或者离线的计算,将数据库存放到某个地方(可能是MySQL,也可能是MongoDB,也可能是ES)。
而引进低代码平台的主要需求则是通过网页和后端数据连接起来,通过一些简单的交互实现对后端数据的更改和查看(或者叫做CURD – Create / Update / Read / Delete)。
当明确了这个需求之后,很多的低代码平台就直接被过滤掉了。比如比较热门的APITable。
1) APITable
APITable 是一个开源的低代码平台,主打的功能是实时协作和API支持。可以理解为一个可编程的腾讯云在线文档。
体验了一下在线的版本之后,发现存在致命缺陷:其中的数据只能通过APITable操作,无法直接使用已有的数据。在官方的讨论区提交了一个Issue,维护者也表示了赞同。
2) Amis
Amis是百度开源的一个前端低代码框架,主要思路是通过json 或者拖拽的方式来定义前端页面。在官方的Readme里写到:
前端低代码框架,通过 JSON 配置就能生成各种后台页面,极大减少开发成本,甚至可以不需要了解前端。
那实际上有没有这种效果呢?我觉得其实并没有。
下面是amis的官网文档,与其花时间把红框内的组件学习明白,倒不如学一些更通用的技能,例如React和Vue,以及基于React、Vue 的一些上层UI库例如Ant Design(蚂蚁出品)、element-ui(饿了么出品)
3) 低代码引擎
低代码引擎 是阿里巴巴开源的一个低代码平台。和百度的问题类似,学习成本太高,使用起来繁琐,且仅为前端组件,无法直连数据库。
此为低代码平台的使用截图:
在数据源的部分可以看到,仅支持前端的数据获取方式:
4) tmagic-editor
无独有偶,腾讯也开源了一个低代码平台,功能和百度、阿里的类似(但是比较丑)。
从上面几个我们可以看到,国内的这几个开源低代码平台基本都是前端团队做的,主要目的也是提高前端开发的效率(大前端时代就是这么厉害)。那么有没有全栈的低代码平台呢?你别说,还真有。请继续往下看。
5) Appsmith
AppSmith 是印度一家创业公司开发的低代码开发工具,它的原型是另一家名叫Retool 的美国的创业公司。AppSmith 从2019 年开始开发,到现在有了差不多4年的时间。
Appsmith 可以使用 15+ 种 DB、REST API 或 GraphQL 作为数据源,同时支持 OAuth 2.0 等多种鉴权协议。通过配置数据源以及编写该数据源所对应的查询语句,可以做到对与底层数据的增、删、改、查工作。
上次查看Appsmith,对中文的支持还不够友好。这次看发现已经有了一个汉化版本。https://appsmith-fans.cn/
我会在第二篇文章里来详细了解和学习这两个版本的区别。
6) Budibase
Budibase 由一个北爱尔兰的初创公司创立,该软件从2020年发布了第一个版本开发,在github上收获了1.7w star。
和appsmith类似,Budibase也支持现有的数据库集成。从官方的介绍来看,budibase和Appsmith支持的数据库不相上下。也有超过15个数据源可接入,例如平时用到的 MongoDB、ES、MySQL等,均可进行接入。
7) ToolJet
tooljet是美国旧金山一家创业公司的新业务,A轮融了460万刀。在github上的star数量和budibase/appsmith基本一致。也将纳入我们的考虑范围。
从github的数据看,tooljet第一个版本发布于2021,可以说是非常年轻的一个低代码平台工具了。而且也支持40多种类型的数据源。
在下一篇,我们将选定一个应用场景,并通过三个应用(Appsmith/Budibase/Tooljet)来搭建低代码平台。来比较各自的优缺点。