什么是比较好的低代码产品?

简介: 本文汇总了几种业界的低代码,如果找到了对应的场景,同时又可以真正解决问题,低代码比原本敲代码要快,会是一个很好的发展空间。

本文主要聊下外面的低代码,可能大家谈到低代码想到更多的是低代码搭建页面的平台,其实对于偏逻辑编排、服务 BaaS 能力的偏可视化方式其实也算低代码,旨在「通过少写代码,用更便捷的方式来实现原本需写代码的工作」。

说到低代码,喜欢的人特别喜欢,不喜欢的人很不喜欢,此外也有“假装”去喜欢的,也有喜欢得不明不白的,我现在对于低代码是有点儿喜欢的那种,不过只限于「在特定领域,实现需求的速度比熟练工程师写代码要快的场景」,这种场景下用起来真心会比较爽,可能也用得不爽的时候,但是这种不爽远小于他带来的效益减去原本敲代码的投入,也很值得将这类产品做到好用爱用。

其实低代码产品是比较难做成的,特别是大而全的那种,由于考虑因素过多,导致步调很慢,也很难做到很易用,导致一边投入很大,一边又急切上线落地使用,从而出现平台方觉得投入很苦,使用方觉得不太好用还需吃狗粮的矛盾,往往需经过忍耐很长时间才可「守得云开见月明」,不过很多都在没有见月明的时候就奄奄一息了。反而专门领域的比如说表单、表格、图表低代码搭建活的很不错,我们飞搭正在朝着这个方向跑。还有一些 BaaS 类单领域的活得也还可以,我个人更偏向「易用的可很轻快解决对应领域问题低代码产品方案」。

此外还有一个误区,有人会认为低代码是给所有工程师都可以使用的,其实我认为不太对,低代码最开始出现的初衷是为了解决「让不是程序员的人使用视图、组件、模板和表单等方式快速在不写代码情况下构建应用」,这里我们可以引申一下,低代码更适合两类场景,一类是「让不是这个领域的人也可以很快的写这个领域的应用」,第二类是「在特定领域通过抽象协议模型通过低代码的方式来快速实现产品」。

这里不多扯低代码的优缺点和喜好了,关于低代码产品内部已经有不少,也都比较熟,这里就不多加说明了,刚好最近在思考团队下一步的提效方式,我们来看看业界开源的低代码产品,说不定会有一些输入。


一体化的低代码平台

一体化也即从后端到前端的实现全部给包括了,说实话,我认为这种是最难做的,特别在大公司里面,假如各司其职,同时多个团队协作的话比较难做起来,因为各方的标准协议、数据库模型结构均很难一致,但是假如前端、后端均在一个团队,有一整套统一的模型协议,还是有可能做成的,比如说如下这两个产品。

Appsmith

Appsmith[1] 是一个用于构建内部应用的低代码开源框架,一个印度的创业公司弄的,很适合做企业后台管理系统,常用的 CRUD、Dashboards、数据报表啥的不在话下,Appsmith 有一种 Retool[2] “开源版”的感觉。

image.png

在使用上和常规的开发套路很像,第一步画 UI 界面,第二步连接到数据源,第三步将数据源和 UI 界面串起来,第四步部署,只不过将原有编码过程变成了可视化过程。

640.gif

此外还提供了大量的模板可供使用,包括 Project、Management Support、Human Resources、Sales、Marketing、Finance 等方向,有些思路对于不少低代码方向有一定参照作用。

Budibase

Budibase[3] 官方宣称是一个你会喜欢使用的低代码平台,通过简单易用的方式来提高构建一个应用的速度。和 Appsmith 相比,是另外一种实现方式,此外 Budibase 有内置数据库、外部数据源、设计图形用户界面和自动化部分,在创建 UI 界面的使用使用的是偏设计的方式,整体而言会更加美观一点。

image.png

ToolJet

此外 ToolJet 也是一个不错的低代码框架,同样支持接入多种数据源,偏拖拽的方式实现前端的界面,包括对于 mobile 端的一些支持,此外使用的是 JS 比较友好。

image.png

除去上面外,nocobase[4]、illa-builder[5] 和 refine[6] 这三款也可以去调研调研。


BaaS 领域的低代码

BaaS (Backend as a Service) 这个概念我是从 2019 年开始弄 Serverless 的时候开始了解到的,当时想着要是有很多好用的 BaaS 能力,那写 FaaS 函数会不知道有多爽。

对于想快速实现一个产品而言,使用 BaaS,开发人员可以专注于前端开发,而无需花费大量时间和精力来构建和维护后端基础设施,这使得开发人员能够快速构建应用程序,更快地将其推向市场。不过这一块当前在国内其实弄得没有国外那么好用和精致,国外有几个还不错的。

Supabase

Supabase[7] 是一个开源工具的组合,使用企业级的开源产品构建 Firebase 的功能。Firebase 是谷歌旗下的一家 BaaS 云服务公司,可以让开发者通过 Firebase 的框架就可以简单地开发一个 App,无需服务器以及基础设施。了解了他是啥,就大概知晓 Supabase 是什么了。

image.png

主要功能是提供了数据库托管、身份验证和授权、自动生成 API、函数服务、文件存储等易用能力,相当于这些代码的实现使用者都不需要写了,只需去调用即可,此外提供了 JS/C#/Flutter/Go/Java/Python/Swift/Rust 等客户端库来供使用,更多可见文档[8]。

image.png

Appwrite

除去 Supabase,Appwrite[9] 也是一个很有名的完整后端服务能力,可以当做他的竞品,功能差不多,通过视觉化界面极简了从零编写 API 的繁琐过程,在保证软件安全的前提下为开发者创造了一个高效的开发环境。基于 Docker 的端到端开发者平台,其容器化的微服务库可应用于网页端,移动端,以及后端。

image.png

提供对应的软件服务,如账户、用户、团队、数据库、存储、云函数、多语言、头像等通用能力,并搭配对应客户端或服务端的开发套件,使用微服务架构方式让其更好扩展。

image.png

此外在数据库领域还有一个叫做 SurrealDB[10] 的端到端的云原生数据库,适用于 Web、移动端、无服务器、后端和传统应用程序,通过简化数据库和 API 调用来减少现代应用程序的开发时间,消除对大多数服务器端组件的需求。


Headless CMS

敲代码快 10 年的后端同学应该对 Discuz、DedeCMS、WordPress 这种当时很火的框架很熟悉,还记得大学时期经常用 DedeCMS 去接商业项目,很快很爽。现在这一类偏后端解决方案进一步发展,变得更加简单、美观、好用了,这里简单介绍一下 Strapi 类的无头 CMS,简单而言就是只提供数据的内容管理系统,不关注 UI,内容优先。

Strapi

Strapi[11] 是开源的无头 CMS,使用 JavaScript,很灵活完全可定制,支持不少插件,可以很快的生成一条 REST API 服务,整体使用起来对于前端同学来言还是比较熟悉的,可以一试。

640 (1).gif

Cube

Cube[12] 是一个用于构建数据应用程序的 Headless 商业智能框架,使用任何来源的数据,将其组织成一致的指标,并将其用于每个数据应用程序。

image.png

此外除去 Strapi 、Cube 这两个比较有名的 Headless CMS,你还可以试试 payload[13]、webiny-js[14] 这两个。


流程编排

看起来不少公司都有自己的服务编排的平台,对于大一点的厂,可能每一个 BU 都有一个,不过整体而言都很难做到好用,同时很难讲明白「服务编排比写代码要快要方便」这个点,大多数前期很热闹,中期很平稳,后期很难玩下去,任重而道远,不过很期待正在做的同学能够到达「守得云开见月明」,把这一块能力探得更深一点。

不过在一些特定工作流领域,有做得不错的,比如说 Automate 和 n8n 这两个工具,对于流程编排的建设可以参考一波。

Automat

Automa[15] 是一个浏览器自动化工作流的浏览器扩展,使用连接块的方式来很方便的编排你的常用操作,有自动填充表单、截图、取数据、定时触发、操作浏览器、Web 交互等能力,可以将你重复的操作很好的交给这个工具,好比快捷指令。

640 (2).gif

他做得比较好的点是很易于使用,同时提供了不少开箱即用的能力,让人很快速就完成自己的需求。

n8n

n8n[16] 是一个可扩展的工作流自动化工具,看了看对于做流程性的节点编排,逻辑控制还是很不错的,此外支持基于代码自部署。

image.png

其他奇特的

除去上面常用的低代码能力,还有两个很神器的,其实不少人常用的 Notion 笔记本身也是一个低代码工具,与之对应的开源实现叫 AppFlowy,还有一种通过编写配置 DSL Json 的方式来构建各个部分的功能的开源产品叫做 YAO,最后还有一种是 Airtable[17] 模式的开源方式 NocoDB。

AppFlowy

如上所说,其实弄低代码的同学,很有必要去玩玩 Notion,已经被大量人玩出了花,此外可以试试这个开源的 AppFlowy[18],基于此,可以来看如何控制数据到界面的这个展示过程。

image.png

YAO

YAO[19] 是一款开源应用引擎,使用 Golang 编写,以一个命令行工具的形式存在, 下载即用。适合用于开发业务系统、网站/APP API 接口、管理后台、自建低代码平台等。YAO 采用 flow-based 的编程模式,通过编写 YAO DSL (JSON 格式逻辑描述) 或使用 JavaScript 编写处理器,实现各种功能。

image.png

去年第一次见到 YAO 的时候,就被他的创新思路给吸引了,此外他自带的界面能力设计很不错,整体安装体验很顺畅,对于他的产品实现对于想做协议驱动的同学应该有不少借鉴作用。比如说下面这个系统居然是用 JSON 配置给写出来的,包括 UI 的展示。

640 (3).gif

NocoDB

NocoDB[20] 是 Airtable[21] 的一个开源替代品。Airtable 是啥呢?Airtable 是一个电子表格-数据库混合体,它具有数据库的功能,但实际上是电子表格,还可以把 文字、图片、链接、文档等各种资料整合在一起。反向来看 Notion 的大思路差不多,不过这个是重协作的使用场景。

NocoDB 的作用就是将 MySQL、PostgreSQL、SQL Server、SQLite 或 MariaDB 转换为智能电子表格,使用场景可以参考下面 gif,还是挺有想象空间的。

image.png

此外还有一个类 Airtable 领域的新起之秀叫做 ApiTable[22] ,刚开源不久,整体而言做的比较精致,很推荐一玩,可以去研究研究。

image.gif


最后

只能低代码说这一块是很卷了,不过找到了对应的场景,同时可以真正解决问题,比原本敲代码要快,那基本上是可以找到一个很好的发展空间。此外文章中有不少是个人自以为的东西,假如发现有不对的,欢迎留言。


参考链接:

[1]https://github.com/appsmithorg/appsmith

[2]https://retool.com/?spm=ata.21736010.0.0.66f917daVDTlxD

[3]https://github.com/Budibase/budibase

[4]https://github.com/ToolJet/ToolJet

[5]https://github.com/nocobase/nocobase

[6]https://github.com/illacloud/illa-builder

[7]https://github.com/refinedev/refine

[8]https://github.com/supabase/supabase

[9]https://supabase.com/docs

[10]https://github.com/appwrite/appwrite

[11]https://github.com/surrealdb/surrealdb

[12]https://github.com/strapi/strapi

[13]https://github.com/cube-js/cube.js

[14]https://github.com/payloadcms/payload

[15]https://github.com/webiny/webiny-js

[16]https://github.com/n8n-io/n8n

[17]https://www.airtable.com/

[18]https://github.com/AppFlowy-IO/AppFlowy

[19]https://github.com/YaoApp/yao

[20]https://github.com/nocodb/nocodb

[21]https://www.airtable.com/

[22]https://github.com/apitable/apitable


作者 | 侑夕

来源 | 阿里云开发者公众号

相关文章
|
存储 前端开发 数据可视化
低代码平台实际解决了哪些问题?
低代码平台实际解决了哪些问题?
154 0
|
人工智能 安全 搜索推荐
低代码平台的坑有哪些?
低代码平台的坑有哪些?
161 0
|
前端开发 BI 程序员
低代码系列——初步认识低代码
低代码系列——初步认识低代码
115 0
|
数据可视化 BI 开发工具
低代码平台
低代码平台
|
人工智能 运维 监控
什么是低代码开发,为什么要使用低代码,选择低代码要注意什么?
这么多年以来,一直是IT技术支撑了全球的信息化浪潮,然而“应用程序开发技术”发展至今,其开发效率却难以像“摩尔定律”一样快速提升,以至于一度成为了瓶颈。瓶颈就意味着机会,所以这才有了“低代码”的迅速崛起。
|
Kubernetes 数据可视化 小程序
什么是低代码?国内常见的低代码平台有哪些?
什么是低代码?国内常见的低代码平台有哪些?
240 0
|
移动开发 运维 前端开发
低代码平台实用吗?有哪些大型企业在用低代码?
从专业角度来看,“开发不等于写代码”,它只是基于业务构建协同流程的一种方式。即使是非常专业的开发人员,在技术分工精细化的趋势下(前端/后端/算法/运维),企业也很难实现独立开发和维护整个复杂应用。
|
SQL 运维 前端开发
什么是低代码平台?
什么是低代码平台?
155 0
|
敏捷开发 监控 数据可视化
你了解低代码平台吗
低代码是一种可视化软件开发方法,通过最少的编码更快地交付应用程序。图形用户界面和拖放功能使开发过程的各个方面自动化,消除了对传统计算机编程方法的依赖。低代码平台使应用程序开发更加自主化,特别是对于没有编码经验的业务用户,如业务分析师或项目经理。这些工具使技术含量较低的员工能够以多种方式产生更大的业务影响,例如减轻 IT 部门积压工作、减少业务流程管理。尽管如此,低代码开发平台也可以帮助经验丰富的程序员。由于它们几乎不需要编码经验,因此它们为开发人员的编码背景提供了更大的灵活性。例如,一些业务应用程序需要特定编程语言的知识,从而进一步缩小了开发人员的选择范围。通过消除这一瓶颈,低代码平台缩短了应
170 0
|
数据采集 数据可视化 搜索推荐
什么是低代码?低代码平台能解决什么样的问题?
简单一句话概括就是:低代码开发平台是一种只需用很少甚至不需要代码即可快速开发系统,并帮助其开发出的系统,完成快速配置和部署的技术工具。
什么是低代码?低代码平台能解决什么样的问题?