1. 低代码平台
1.1 概述
低代码是无需编码(0 代码)或通过少量代码就可以快速生成应用程序的开发平台。
通过可视化进行应用程序开发的方法,具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。
1.2 为什么要用低代码
1) 快速开发。低代码平台提供预制的组件和模板,使得应用程序的构建过程大大加快。
2)灵活可扩展。低代码平台允许快速迭代和调整,以适应不断变化的业务需求,同时支持应用的扩展和定制。
3) 降低成本。低代码降低了开发门槛,从而减少了对专业开发人员的依赖并缩短了开发周期,进一步降低了开发和运营成本。
4)提升效率。低代码平台支持跨职能团队合作,业务和IT部门可以更紧密地协同工作,提高项目研发效率。
1.3 低码平台核心能力
低代码的平台具备的核心能力要素,我认为有四点:
- 可视化开发
- 数据模型驱动
- 扩展性
- 工程化
-
可视化开发
业务人员基于可视化的页面或工具能够进行简单拖拉拽、可以形成一个页面信息。
他们也能够基于可视化界面来配置定义数据源和数据模型、简单定义一个流程,可以执行工作流。
总而言之,就是前端拖拉拽可以形成前端的交互语言,进而生成后端可以执行的计算机语言。 -
数据模型驱动
低代码平台,能够可以通过页面上的操作进行定义一个模型定义,可以灵活的定义模型中的字段、也可以进行相关数据表的关联操作,以及设置数据模型的规则和索引。 -
扩展性
是指低代码平台是否可以提供一些机制来进行扩展。
具体的扩展方式有以下三点:
a. 扩展语言
低代码平台是否能够我熟悉的语言来扩展,假如我是前端开发者,能否提供前端熟悉的语言来扩展,假如我是后端开发者,能否基于写一些后端代码(Java 、Go 等)来扩展。
b. 逻辑扩展
低代码平台能否通过定义一些流程图也进行业务逻辑的扩展,来执行业务 if、else 的流程来做业务上的一些调用。
c. API 集成
低代码平台是否可以通过低码平台搭建的应用与第三方公司已有的系统或者服务做集成,能否在低码中通过 API 做集成过来,供我的应用来调用集成。 -
工程化
低代码平台是否可以进行本地开发调试、版本控制、自动构建发布上线、免运费以及监控的一些能力。简单来说是否在该平台上一站式配套的能力。
a. 扩展语言
低代码平台要能够进行本地的开发调试。
b. 版本管理
低代码平台可以进行版本回退操作,以及有能力可以预留体验,回退体验的时候不会影响到发布态的产物。
c. 自动化
低代码平台可以自动构建发布上线、免运费以及配套监控的一站式能力。
2. 飞书应用引擎aPaaS平台
2.1 整体架构
2.2 数据模型
为我们提供数据模型定义,索引、以及各种数据模型的关系。
我们可以灵活的来自定义数据字段。
2.3 页面控件
2.4 工作流
工作流基于业界标准 bpmn 协议来扩展,数据展示和存储基于标准 JSON 来处理可读性更高。
即时时机、也支持定时触发。可以通过配置一些节点,来执行业务逻辑的操作。
2.5 角色权限
多种权限控制粒度,包括页面权限,记录权限,流程权限,数据模型权限,函数权限。
角色:即用户扮演的角色,可以将角色赋予多个用户,也可以将多个角色赋予一个用户。角色的配置,本质是权限组授权给用户的过程。
功能权限:控制用户在飞书应用引擎搭建的应用内可用的功能,如增删改查对象和字段、浏览页面,执行流程,调用函数。
数据权限:控制用户在飞书应用引擎搭建的应用内可访问的数据,可细化控制用户对某条数据的读写权限。
2.6 服务端扩展
服务端的扩展基于云函数的能力,通过页面可视化编写代码来进行服务端逻辑的扩展。可以做一些数据表的聚合,以及 CRUD 等操作方法。
云函数(Serverless Cloud Function,SCF)是为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在云基础设施上弹性、安全地运行代码。
2.7 连接器
连接器可以打通外部应用数据或调用外部应用开放的服务,开发者只需要对连接器完成授权或少量填写一些配置信息,即可使用对应产品的服务接口。
2.8 优缺点总结
优点:
1.数据聚合能力 和 流程编排能力是亮点
2.功能强大,页面组件完善
3.扩展能力强,易于二次开发
4.与飞书深度集成,可以使用飞书的一些开发能力
缺点:
1.使用门槛稍高,需要有研发背景更容易上手
2.与平台绑定,无法独立下载部署