2019那年,疫情来势汹汹,席卷一切。从火爆出圈的 Disco Diffusion 到 ChatGPT,大家对新技术仍然充满了期待,正如逍遥子在9月份的云栖大会上说的“新技术代表的新生产力,一定是我们全速战胜疫情、开创未来最好的原动力。” 那么究竟需要什么样的新技术,才能真正解放IT生产力,加速社会数字化转型呢?
我并不认为是低代码(Low-Code)…
什么是低代码
低代码开发平台是一种用于构建具有图形用户界面的应用程序的应用开发软件。低代码平台包含多种预构建组件,可以让用户非常直观地设计应用程序,并在合适的地方添加自定义代码。低代码技术允许用户快速部署,是成为用户处理快节奏的、不断变化的业务需求的推动力。
低代码平台的运作主要依赖以下三个方面:
视觉开发
低代码平台自带大量的预构建拖放式 UI 组件,用户可以通过拖放这些组件构建出一个精准符合预期的前端界面
更简易的集成
低代码平台简化了与不同数据源的集成。低代码平台可以将应用程序的前端,通过与构建的后端连接器连接到不同的数据源或API。
跨平台兼容
高可扩展性
低代码最大的特点就是高可扩展性,它允许企业根据不断变化的市场需求定制或升级应用程序,并确保随着业务增长
低代码到底可以做什么
CRUD 后台
CRUD(创建、读取、更新、删除)功能对几乎所有应用程序都至关重要。它通过简化和促进流程,来使应用程序的设计更容易、更具可扩展性,这些应用程序可以是基本的待办事项列表,也可以是复杂的客户支持工具
管理后台
一系列资源提供查询和管理功能,业务上可以节省大量时间。同时管理后台的资源经常需要向特定用户授予基于用户和基于角色的访问权限,因此管理后台往往需要按照业务场景量身定制。
数据库 GUI/数据看板
定制化表单
CRM
工单/项目/任务管理工具
低代码平台的优点
提高生产力
企业不必再将大量时间花费在内部系统的开发上,而是可以专注于公司的核心业务,提升产品。
提高公民开发者比率,从而解放开发人员的时间。
有了低代码开发平台,更多的应用程序可以在更短的时间内生产出来,时间不足不再是创新的障碍,曾经需要几个月的时间现在只需几天甚至几分钟,这是低代码平台的最大好处之一。
简化工作流生命周期的工具,包括跟踪监控和警报功能。
提高开发速度
将开发速度提高 50% 到 80%。
可加快产品开发和市场进入。
可视化界面和拖拽功能让应用的更新迭代也更加简单。
加快了验证速度,可以快速开发和部署应用程序。
大多数低代码平台都是可扩展的,提供直接的供应商接口,并允许开发人员将命令行、Web 服务和 API 转换为可复用模块。
降低开发成本
上手简单,学习成本低。
大大减少了基础性、重复性代码的开发时间。
可扩展性强
传统应用程序的升级和维护需要很长时间,但低代码开发可以快速引入新功能,容错率高。
支持跨平台的数据处理,几乎可以实现任何数字业务操作的自动化。
低代码平台的缺点
灵活性有限
低代码依赖于其开发平台和组件模块的内置功能,可能难以满足开发团队的特定功能诉求。每个低代码平台都提供了不同范围的定制选择和权限管理功能,因此在开发应用之前,请确保了解自己的所有使用权限。
供应商锁定
团队必须使用相同的低代码平台对其开发的的应用进行更改,由于没有源代码,很难中途切换到其他平台。如果想更换低代码供应商,往往需要重新开始。
源代码的所有权
您不能提取应用程序的源代码并单独进行处理,缺乏对源代码的控制,在一定程度上增加了团队业务对低代码开发平台的依赖。
如何学习低代码
前端拖拽开源教学项目:https://github.com/woai3c/visual-drag-demo,提供了一些技术要点原理分析,对想入门的同学是必不可少的内容。
开源低代码框架推荐
Appsmith
GitHub上目前已有24.9k star,是现在GitHub上最火的低代码开发平台。Appsmith可以快速开发出管理面板、数据分析看板、客户CRM 系统、工作流等等,可以使用它们提供的免费的云端服务构建应用,也可以使用 Docker 进行私有云部署而不用担心数据泄漏。
GitHub:https://github.com/appsmithorg/appsmith
官网:https://www.appsmith.com/
优点
- 支持可私有化部署,同时提供免费的云端托管服务
- 支持开发多页面应用
- 多种 UI 组件可供选择
- 常用数据库的集成:MySQL 、MongoDB 、PostgreSQL、ElasticSearch、Redis 等
- 强大的开源社区支持,快速迭代
- 丰富的技术文档
- 支持 Git 版本管理
缺点
- 开源代码在可读性、可维护性等方面还有待加强,二次开发门槛很高
- 中规中矩的数据源集成数量
- 部分 UI 组件功能还不够完善,例如表格数据展示类型支持较少,图表组件功能比较基础,等等
- 用户组和权限管理功能比较简单,不适合复杂权限管理场景
ToolJet
一个年轻的低代码项目,第一次发布是在 2021 年 6 月, 现在也有17.9k star。
GitHub:https://github.com/ToolJet/ToolJet
官网: https://www.tooljet.com/
一个低代码框架,可在几分钟内快速构建、部署内部工具。不仅为我们提供了具有拖放工具、默认小部件和移动布局的 UI 开发器,还提供了一个绝大多数据库支持的内置查询编辑器。此外,该框架可以连接到多个数据源,例如 Google Sheet、PostgreSQL、Redis、ElasticSearch,以及一些三方应用程序,例如 Slack、Notion、Google Sheets 。
Budibase
也有17.5k star。Budibase 以其高效可靠的功能在内部系统搭建工具中脱颖而出,作为一个开源的低代码平台,能够让您快速开发内部系统,满足业务诉求, 但是Budibase 不支持组件拖拽,仅提供几种预定义的 UI 布局方式
GitHub:https://github.com/Budibase/budibase
官网: https://budibase.com/
优点
- 支持可私有化部署,同时提供免费的云端托管服务
- 支持多页应用程序开发
- 目前完全免费
- 强大的开源社区支持,快速迭代
- 工作流可视化做的比较好,用户可以查看/搭建自己的自动化工作流
缺点
- UI 布局灵活性不够,目前只提供了基本的 UI 组件(表格、表单、文本框、文件上传等),只适用于相对简单的业务场景
- 支持的数据源相对较少
LowCodeEngine
阿里家的基于 Low-Code Engine 快速打造高生产力的低代码研发平台
GitHub:https://github.com/alibaba/lowcode-engine
官网: https://lowcode-engine.cn/site/docs/guide/quickStart/intro
我的思考
低代码行业正在显著发展中,这对于代码能力有限或负担不起专业开发人员的企业来说无疑是很好的选择,尤其是对一些初创企业、中小型企业和非技术企业。而且,通过周密的规划和企业管理,您完全可以克服上面提到的低代码平台的缺点,最大限度地利用低代码平台为您带来利润。
低代码开发并不会取代传统的软件开发,但它将改变在某些领域中的软件开发,改变那些重复低效的业务,这意味着公司不需要为这种业务招聘大量的开发人员,而是安排更多的专业软件开发人员面向客户的需求以及复杂和独特的软件开发问题。
尽管相较于原生的开发模式,低代码开发平台能够显著提升开发效率,尤其适合业务变化快、预算有限、开发时间紧迫的企业应用场景;但是低代码平台也有明显的局限性,至少就目前来说,它主要用于搭建企业软件。因为此类软件架构是有一定规律的,但娱乐、社交等软件开发比较深层交互的东西低代码还是无法实现的。
国内低代码现状
这里总结了很多: