大家好,我叫瞿凯歌,毕业于计算机科学技术,7年软件开发经验。目前任职于北京无尖科技有限公司,担任实施部技术负责人。
我们公司专注于企业数字化转型业务,利用BI工具,同时结合Mendix为企业提供数字化整体解决方案。主要集中在Mendix 低代码项目,以及JAVA、BI、AWS等开发。
在使用Mendix之前,我们主要使用以下工具:前端使用VScode和WebStorm,后端IntelliJ IDEA和PyCharm。传统工具开发依赖于手动编写大量代码,且前端开发过程无法做到所见即所得,需要与后端进行联合开发调试,开发速度慢,团队协作复杂度高。
因此,基于我们公司与西门子有多年合作,我们从2020年开始使用Medix,目前已经有5年时间了。
使用Mendix的过程中有一些体会希望和大家分享。在使用Mendix低代码平台之前,我们公司主要以高代码进行实施交付,主要存在以下原因:
-
沟通成本高:开发过程涉及多个角色和团队(需求、前端、后端、产品管理、测试等),沟通和协调复杂,容易出现信息不对称或误解,导致开发效率降低和产品质量问题。
-
技术门槛高:传统开发需要掌握多种编程语言、框架和工具,对开发人员的技能要求较高,增加了培训新成员和维持高素质团队的难度。
-
维护和扩展成本高:随着项目规模的扩大,代码的维护和扩展变得更加困难,长期来看,系统的稳定性和可扩展性会受到影响。
-
资源浪费:传统开发模式通常需要较多的资源投入,包括人力、时间和资金,特别是在处理复杂项目时,这种资源浪费更加明显。
而Mendix 市场提供大量的模块,组建和模版。使用的模块如:Email Connector,Community Commons,Email Connector,Excel exporter,Excel importer,NanoflowCommons等等。对于开发者来说在Studio Pro中直接下载模块或组建即可直接使用,大大提高开发效率,同时Mendix也提供友好的开发接口,支持开发者自定义组件和模块,开发过程更加灵活。
当在开发中遇到问题时,我也可以在Mendix中英文社区查询类似案例,或者在社区论坛发帖寻求帮助,基本都可以得到解决。
截至目前,我们团队利用Mendix低代码平台开发了一系列应用,这些应用一部分务于我们部门内部的需求,一部分支持其他公司其他业务部门的工作。以下是几个主要的应用案例:
智能审批平台案例:
-
高度灵活的业务流程管理方式,允许用户根据实际业务需求在流程执行过程中灵活调整流程的路径和步骤。
-
与传统的固定流程相比,自由流的特点是流程的走向不受固定顺序的限制,用户可以根据业务情况动态地选择下一步的操作决策路径。
平台架构
-
接入终端层:用户可以通过PC端和移动端设备访问平台。
-
功能项:包含了流程管理、表单管理、首页、审批记录和系统管理等功能模块,提供了平台的主要功能服务。
-
核心组件层:由BPMN引擎、表单构建器、流程创建发布、流程用户管理和后端引擎组成,支持流程的定义、执行和管理。
-
数据管理层:管理平台中涉及的文件数据、用户数据、系统数据等,并提供其他数据服务。
-
基础设施层:基于Mendix平台,结合PostgreSQL数据库,提供了平台的底层支撑与安全保障。
平台功能
-
基本流程:流程可以配置多个审批人。每个步骤可以同意或驳回、历史记录查询等。
-
复杂流程:需要支持会签和加签。会签分为抢单模式和全票通过模式;加签应该包括前加签、后加签。
-
更复杂的流程:转办,代理、跳转、父子流程、自动条件判断、轨道图示。
系统截图
流程构建
表单构建
流程查看
操作记录
通过采用Mendix低代码开发,我感觉对比传统开发,Mendix有以下优势:
- 降低开发门槛:Mendix通过可视化拖拉拽界面和所见即所得开发方式,大幅降低了开发的技术门槛。有一定开发基础情况下通过一个月学习即可进行项目开发。
- 加快开发速度:Mendix提供了丰富的预构建模块和组件,能够快速构建应用并满足业务需求。相较于传统开发需要大量编码和反复调试,Mendix明显缩短开发周期。
- 降低资源投入:由于Mendix简化了开发过程和降低了对专业技术的需求,企业可以在资源有限的情况下有效开展开发工作,减少了对大量(专业)开发人员的依赖。
而相较于市场上的其他低代码开发平台,Mendix的主要优势在于其全面的功能集、强大的集成能力和开发环境。Mendix提供了直观的可视化工具,支持复杂的应用自定义开发。社区活跃度高、灵活的部署选择。
使用Mendix Pro IDE的环境,其布局清晰,操作流畅,开发速度快,可灵活进行自定义,文档完善,支持本地开发及一键发布应用。
目前,我们团队正在探索将表单构建和BPMN与Mendix平台结合,以实现更高效的应用开发。
最后,我会乐意向其他开发者推荐Medix!对于开发人员,Mendix是一个优秀的低代码平台,从数据建模->页面开发->微流(逻辑)开发,完全通过图像化界面操作。能够快速应对业务需求变化,从而提升效率缩短开发周期。