3 个小时,从学到做,我用低代码平台搭了一套管理系统
最近工作中遇到了一个棘手的问题,需要快速开发一套项目管理系统,以满足团队对项目进度、任务分配、资源管理等多方面的需求。
经过几天的调研,我发现找专业开发团队定制,不仅成本高,而且周期长,远水解不了近渴。于是乎,我就抽时间,在工作之余研究了几款低代码平台,选择了其中一家,做了个小 DEMO。
下面将基于我亲身实践的“项目管理系统”为例,演示如何用低代码平台快速搭建一套应用系统,并介绍国内外一些知名的 aPaaS 产品,例如织信 Informat、Mendix、Outsystems、宜搭,试图探讨低代码平台在产品设计上的核心本质,从而让大家对低代码有一个更直观的理解。在案例开始之前,我们先聊聊基本概念。
一、低代码是什么?
低代码平台并非新生事物,它已经存在了相当长的时间。早期在大型管理软件套件中,就有类似可拖拽式的快速开发平台,助力技术人员无需编写大量代码,就能快速实现一些基础功能。
如今所说的低代码平台,本质上是一套期望通过拖拽配置,就能完成业务型软件系统开发,并能无缝部署上线运行的工具。在这个过程中,虽也可编写部分代码,但大量基础性编码工作都能被低代码平台自动化实现。

低代码主要有两大应用场景。
其一,助力成熟软件产品以低成本满足个性化需求,提升开发速度,拓展客群。像国外的 SAP、Oracle、SalesForce、Microsoft,国内的用友、金蝶、泛微、蓝凌等企业,都有基于自身软件产品核心的低代码解决方案,目标用户多为 IT 工程师、实施顾问等。
其二,帮助甲方企业低成本、快速搭建全新应用系统,尤其是让不懂编程的业务人员也能自主完成,使企业以较低成本享受数字化技术赋能业务的益处。对于逻辑相对简单、流程链条不复杂的业务场景,低代码平台优势明显。国外的 OutSystems、Mendix,Microsoft Power Apps,国内的宜搭、织信 Informat、明道云等,都服务于这类场景,目标用户包括甲方企业的业务人员或 IT 人员。
需要留意的是,目前国内有些做报表平台、流程引擎的厂商,为了蹭热度,也都称自己是低代码平台。严格来讲,这些厂商提供的产品能力,只是完整低代码平台所需具备能力的子集,并不能算低代码产品。
说了这么多,想必大家对低代码的印象依然比较模糊。
接下来,我将通过一个案例,带着大家去体验一款低代码产品的使用。开始之前,还有几个问题需要和大家强调:
1、低代码只是应用系统建设执行层面的工具,而软件产品设计中的思考方式和建模过程才是核心,所以我们的案例会花一部分笔墨讲述设计过程,理解后再去学习应用低代码平台就会简单很多。
2、我选择了织信作为演示产品,第一是因为他比较容易上手,第二是他能力足够强,可以做一些复杂的业务逻辑,比较适合我这种懂一些编程的产品经理。需要声明的是我和织信没有任何关系,甚至试用期间连销售都没加过,试用期全程都是我自己对着帮助手册学习操作的。
3、织信的学习我大概用了一个小时(主要是看帮助文档+ B 站的上手视频),具体上机实操将案例中的功能实现大概用了两个小时,整体还是非常好用,容易上手。但这也可能是因为我以前做过研发,对很多基础概念都比较容易理解。
好了,接下来,让我们进入案例。
二、基于低代码搭建“项目管理系统”的实践
1、需求调研
我们团队当前的项目管理较为混乱,项目进度不清晰,任务分配不合理,资源浪费严重。大家急需一套能清晰展示项目进度、合理分配任务、有效管理资源的系统。项目负责人期望能实时掌控项目整体进度,及时发现问题并调整;团队成员希望明确自己的任务及时间节点,避免任务冲突。

2、产品概要设计
梳理系统涉及的利益方,主要有项目负责人、团队成员。项目负责人作为业务决策人,需要通过系统把控全局,管理项目进度、分配任务、协调资源等;团队成员作为业务执行者,要能清晰看到自己的任务详情,及时反馈任务进展。
基于业务需求,绘制业务流程图。项目启动前,需明确项目基本信息,包括项目名称、目标、周期等。项目开始后,进行任务分配,为每个团队成员安排具体任务,并设定任务的开始时间、截止时间。团队成员执行任务过程中,实时更新任务进度。项目负责人根据任务进度,对资源进行合理调配。若任务出现延误等异常情况,及时发出预警,以便及时调整。
根据业务流程,绘制出业务背后的 ER 模型图。项目与任务是一对多关系,一个项目包含多个任务;任务与团队成员是一对一关系,每个任务由一名团队成员负责。同时,项目关联资源信息,包括人力、物力等,以便进行资源管理。

3、产品细节设计
依据流程图,规划系统落地执行的页面流转图。项目负责人需要项目列表页,可查看所有项目的概览信息;项目详情页,用于编辑项目信息、查看项目进度、分配任务等。团队成员需要个人任务列表页,展示自己负责的所有任务;任务详情页,用于查看任务详细信息、更新任务进度。此外,还需资源管理页面,方便项目负责人管理项目所需资源。

任务生命周期状态
除页面操作需求外,还有业务规则需求。例如,当任务进度更新时,自动计算项目整体进度;若任务进度延迟超过一定比例,自动向项目负责人发送预警消息。不同用户对不同页面及数据有不同权限,项目负责人拥有最高权限,可对项目进行全面管理;团队成员只能查看和操作自己负责的任务相关信息。

4、低代码实现——通过表单定义数据实体
进入织信工作台,创建新应用 “项目管理系统”。针对 ER 模型中的项目、任务、团队成员、资源等实体,分别创建表单。

以项目表单为例,在表单编辑页面,定义项目名称、项目编号、项目周期、项目目标等字段。其中,项目编号设置为自增长字段,方便唯一标识每个项目;项目周期设置为日期类型字段,明确项目时间跨度。通过表单呈现实体,直观易懂,实体最终会对应数据库中的表。
在项目表单中,添加 “任务” 关联组件,因为一个项目包含多个任务,通过此关联可在项目详情页查看该项目下的所有任务列表。

5、低代码实现——通过视图编辑器定义数据列表呈现
完成各个实体表单配置后,利用视图编辑器定义数据列表呈现方式。以项目列表视图为例,可定义 “全部项目”“进行中的项目”“已完成的项目” 等视图。

在 “进行中的项目” 视图中,设置默认筛选条件为项目状态字段值为 “进行中”,这样在该视图下,可直接展示所有正在进行的项目。同时,可定制列表默认展示字段,如项目名称、项目进度、负责人等,方便项目负责人快速查看关键信息。在任务表单中,通过 “他表字段” 功能,引入项目表单中的项目名称字段,以便在任务列表和详情页中,清晰展示该任务所属的项目名称,方便团队成员和项目负责人查看。
6、低代码实现——通过流程编辑器定义业务过程和事件
利用织信的流程设计器,实现业务规则和事件触发功能。

例如,当团队成员更新任务进度时,若进度达到 100%,自动将任务状态更新为 “已完成”,并重新计算项目整体进度。若任务进度延迟超过 20%,自动触发预警流程,向项目负责人发送站内消息提醒,同时在项目详情页突出显示该任务,方便项目负责人及时关注并处理。

在流程编辑器中,通过简单的拖拽和配置操作,设置触发条件、执行动作等,轻松实现复杂的业务逻辑自动化处理。
7、低代码实现——通过报表编辑器定义报表和仪表盘
为满足项目负责人对项目数据可视化分析的需求,使用织信的报表编辑器创建报表和仪表盘。创建项目进度报表,以图表形式直观展示各个项目的进度情况,包括已完成项目数量、进行中项目数量、项目进度分布等。创建资源使用报表,展示项目资源的使用情况,如人力投入时长、物力消耗统计等。将这些报表整合到仪表盘页面,方便项目负责人在一个页面中全面了解项目的各项关键数据,为决策提供有力支持。

8、低代码实现——配置角色、权限
在织信中设置 “项目负责人” 和 “团队成员” 两种角色。对于 “项目负责人” 角色,赋予其对项目列表页、详情页、任务分配、资源管理等所有页面和功能的完全访问和操作权限;对于 “团队成员” 角色,仅赋予其个人任务列表页、详情页的查看和任务进度更新权限。在数据权限方面,确保团队成员只能看到和操作自己负责的任务相关数据,项目负责人则能查看和管理所有项目及任务数据。通过精细的权限配置,保障系统数据的安全性和操作的规范性。

经过大约 1 个小时学习织信的基础操作(主要通过查看官方帮助文档和简单的在线教程),2 个小时实际动手配置系统功能,一套基本的项目管理系统就搭建完成了。织信操作相对简单,容易上手,即使像我这样没有太多编程经验的人,也能在短时间内快速搭建出满足业务需求的系统。搭建完成后,团队成员使用反馈良好,项目管理变得更加有序高效,项目进度清晰可控,任务分配和资源管理也更加合理。
三、低代码平台的本质
通过这次用织信低代码平台搭建项目管理系统的过程,我们可以深入理解低代码平台的核心本质。软件产品设计遵循 MVC 模型,即 Model(数据)、Controller(逻辑)、View(交互界面)。低代码平台通过几个核心组件,完美支撑了 MVC 三层架构模型。

1、数据模型设计器
数据模型设计器实现对底层数据对象的定义。不同低代码平台,对数据对象的定义实现方式有所不同。
以对象编辑器实现数据定义:这种方式将底层数据模型和前端视图分离,模型聚焦底层,视图负责可视化呈现,灵活性极高。国外的 Mendix、国内的华为云 AppCube 等都采用此方式。
以 Mendix 为例,在其 Windows 客户端版本中,通过 Domain Model(领域模型)进行对象编辑,领域模型具有面向对象编程的特征,如泛化、聚合等,与 ER 模型有所不同。Mendix 的功能强大,但学习难度较高,其 Windows 客户端更像是开发集成编辑器 IDE。

以表单引擎实现数据定义:织信、宜搭等采用表单形式定义数据实体,这种方式简单直观,易于非技术人员理解和操作。
例如,织信通过在表单中添加各种字段类型,轻松定义实体的属性,同时利用关联组件建立实体之间的关系。用户在创建项目表单时,可定义项目名称、编号、周期等字段,通过关联组件将项目与任务、成员等实体建立联系。

宜搭的表单编辑器设计思路与之类似,将数据底层设计和可视化呈现打包在一起,降低了使用门槛,但在灵活性上可能稍逊于对象编辑器方式。通过工作表定义数据实体,工作表对应 ER 建模中的实体,通过相关控件定义实体字段,如表单中定义 ID、名称、状态等字段,还可通过关联记录组件建立实体关系。

2、流程设计器
流程设计器是低代码平台的关键组件,用于定义业务流程和逻辑。对于业务型软件产品,工作流是支撑业务运作的核心,业务运行的本质就是一个个工作流的执行。
Mendix 的流程编辑器:Mendix 的 Windows 客户端版本下的流程编辑器功能强大,能够支持多数据实体在流程中的自动化处理。例如在复杂的业务逻辑中,当某个事件触发时,可自动对多个相关数据实体进行增删改查操作,实现业务流程的自动化流转。

钉钉宜搭的工作流编辑器:钉钉宜搭的工作流编辑器相对简单,更侧重于审批流等对单一数据对象的处理。不过,这也可能是由于未找到其完整功能的配置界面所致。若要实现如销售型 CRM 系统中,线索状态变化自动生成商机记录、分配销售并创建联系人与客户记录等复杂业务逻辑,可能存在一定局限性。

织信的流程设计器:织信的流程设计器通过可视化的拖拽和配置方式,让用户轻松定义各种业务规则和事件触发逻辑。在项目管理系统中,当团队成员更新任务进度时,若进度达到 100%,可自动将任务状态更新为 “已完成”,并重新计算项目整体进度;若任务进度延迟超过一定比例,自动触发预警流程,向项目负责人发送提醒,大大提高了业务处理效率。

3、页面设计器
页面设计器决定了系统的交互界面呈现。不同低代码平台的页面设计器设计理念不同,整体可分为两类形态。
一体化的前端页面编辑器:Outsystems、Mendix 等采用此类设计。
以 Outsystems 的页面编辑器为例,这是一套复杂的前端交互组件设计器,包含数据表集合 Table Records、表单控件 Form 以及复选框 Check Box、单选框 Radio Button 等各类控件集合。操作者可在其中定义列表页、详情页、报表、仪表盘等各类型前端页面,功能强大、灵活,但学习成本较高。

Mendix 的页面编辑器同样如此,即使是 dashboard 也在同一页面编辑器中实现,通过丰富的组件和灵活的配置,可创建出美观且功能丰富的用户界面。


简化的页面配置器:织信、宜搭采用这种方式,将不同类型的页面进行模板化配置。
织信:通过视图编辑器定义数据列表呈现方式,可定制列表默认展示字段、筛选条件等。在项目管理系统中,项目负责人可通过项目列表视图,快速查看项目名称、进度、负责人等关键信息;团队成员可在个人任务列表视图中,清晰看到自己的任务详情。同时,利用报表编辑器创建报表和仪表盘,满足用户对数据可视化分析的需求。


宜搭:宜搭的页面编辑器相对织信会更复杂一些。在编辑系统首页时,可对页面布局、组件添加等进行设置,还可通过报表编辑器创建各种数据报表,以满足不同业务场景的展示需求。


数据模型设计器、流程设计器和页面设计器,是低代码平台的核心。理解软件设计的 MVC 分层架构,就能更好地理解低代码平台的核心产品功能,以及不同产品的设计思路。
当然,不同低代码平台还有更多各具特色的强悍功能,有兴趣的读者可以进一步研究。
结语
可以看出,不同的低代码平台,设计思路并不相同。
产品的易用性和产品的灵活性之间存在平衡和取舍。例如,对于数据底层,究竟选择表单驱动的设计,还是领域驱动的设计?这两者区别非常大,后者对于非技术人员,基本不可用,而前者虽然易于学习理解,但功能确实也要弱化一些。
因此,低代码平台要明确目标用户群体,究竟是给 ISV 或 IT 团队使用的专业开发辅助工具,还是给非技术人员使用的强化版提效工具?
通过这次用织信低代码平台搭建项目管理系统的实践,我深切感受到了低代码平台的强大魅力和高效性。它打破了传统软件开发对专业编程技能的限制,让像我这样的产品人员也能快速搭建出满足实际需求的系统。在产品易用性和灵活性方面,织信也找到了较好的平衡,既提供了简单直观的操作方式,又具备强大的功能和扩展性,能够应对不同复杂程度的业务场景。
对于企业而言,低代码平台无疑是实现数字化转型的有力工具。它能够大幅降低软件开发成本和周期,快速响应业务需求的变化,提升企业的竞争力。对于个人来说,掌握低代码平台的使用,不仅能够提升工作效率,解决实际工作中的问题,还能拓宽自己的技能边界,为职业发展增添新的助力。
评论