跳到主要内容

从高代码到低代码

从高代码到低代码

大家好,我叫曲凯歌,计算机专业毕业,有7年软件开发经验,目前就职于北京无剑科技有限公司,担任实施部技术负责人。

我们公司专注于企业数字化转型,利用 BI 工具并将其与 Mendix 为企业提供全面的数字化解决方案。我们主要专注于 Mendix 低代码项目,以及 JAVA、BI、AWS 等开发。

在使用之前 Mendix,我们主要使用的工具有:前端VScode、WebStorm,后端IntelliJ IDEA、PyCharm。传统开发需要手工编写大量代码,前端开发不是所见即所得,需要和后端联调,导致开发速度变慢,团队协作复杂度增加。

由于我们与 Siemens,我们开始使用 Mendix 2020年,已经使用了五年。

以下是我想分享的一些关于我们的 Mendix 旅程。在采用 Mendix 低代码平台,我们主要采用高代码开发进行实施和交付,原因如下:

  • 沟通成本高:开发流程涉及多个角色和团队(需求、前端、后端、产品管理、测试等),沟通协调复杂,容易因沟通不畅或误解导致效率低下和产品质量问题。
  • 技术壁垒高:传统开发需要熟练掌握多种编程语言、框架和工具,这增加了招募新团队成员和维持高技能团队的难度。
  • 维护和扩展成本高:随着项目规模的扩大,维护和扩展代码变得越来越困难,影响系统的长期稳定性和可扩展性。
  • 资源浪费:传统开发往往需要大量的资源投入,包括人力、时间和资金,特别是在复杂项目中,效率低下的现象更加明显。

- Mendix Marketplace 提供大量模块、组件和模板。模块包括 电子邮件连接器、社区共享、Excel 导出器、Excel 导入器、NanoflowCommons等都可以在Studio Pro中直接下载使用,大大提高开发效率。 Mendix 还提供开发人员友好的界面,允许自定义组件和模块,使开发更加灵活。

在开发过程中遇到问题时,我可以参考 Mendix 社区(提供英文和中文版本)或在论坛上发布疑问寻求帮助,这通常可以解决问题。

到目前为止,我们的团队已经开发了一系列使用 Mendix 低代码平台。有些应用是针对我们部门内部需求的,有些则是支持公司内部各个业务部门的。以下是一些主要的应用案例:

智能审批平台案例

  • 高度灵活的业务流程管理方式,用户可以根据实际业务需求,动态调整流程执行过程中的路径和步骤。
  • 与传统的固定流程不同,自由流动流程允许用户根据业务需求动态选择下一步。

平台架构

 

  • 接入终端层:用户可以通过PC端、移动设备访问该平台。
  • 功能项:包含流程管理、表单管理、首页、审批记录、系统管理模块,提供平台核心功能。
  • 核心组件层:包括BPMN引擎、表单生成器、流程创建与发布、流程用户管理、以及后端引擎,支持流程的定义、执行和管理。
  • 数据管理层:管理文件数据、用户数据、系统数据并提供其他数据服务。
  • 基础设施层: 基于 Mendix 平台并与PostgreSQL数据库集成,为平台提供基础支撑和安全保障。

平台功能

 

  • 基本流程:流程可配置多个审批人,每步均可批准或拒绝,并可查询历史记录。
  • 复杂的流程:支持副署和附加签字,包括预签字和后签字。
  • 更复杂的流程:包括转移、委托、跳转、父子进程、自动条件判断、图形化展现。

系统截图

流程构建器

 

表单生成器

 

进程查看器

 

操作记录

 

采用 Mendix 低代码开发相较于传统开发表现出以下优势:

  • 降低开发门槛: Mendix其拖拽式界面和所见即所得的开发方式大大降低了技术要求,只需要具备一些基本的开发知识,只需要学习一个月就可以开始开发项目。
  • 更快的开发速度: Mendix 提供丰富的预构建模块和组件,支持快速构建应用程序。与涉及大量编码和调试的传统开发相比, Mendix 大大缩短了开发周期。
  • 减少资源投入:通过简化开发流程并降低对专业技能的需求, Mendix 使得企业能够以有限的资源高效地开展开发工作,减少对高技能开发人员的依赖。

与其他低代码平台相比, Mendix的主要优势在于 全面的功能集、强大的集成能力和开发环境. Mendix 提供 直观的可视化工具,支持复杂的应用程序定制、高社区活跃度和灵活的部署选项.

使用 Mendix Studio Pro IDE,其布局清晰、操作流畅、开发速度快、可定制的功能、全面的文档以及支持本地开发和一键应用部署等特点脱颖而出。

目前我们的团队正在探索 将表单构建和 BPMN 与 Mendix 平台 实现更高效的应用程序开发。

最后,我很乐意推荐 Mendix 对其他开发人员来说! Mendix 是一个优秀的低代码平台,支持完全可视化的工作流程 数据建模 → 页面开发 → 微流程(逻辑)开发.能够快速适应不断变化的业务需求,提高效率,缩短开发周期。

选择你的语言