大家好,我是田月萍,来自西门子Advanta的研发部门,专注于工业数字化转型。在我的职业生涯中,参与了多个关键项目的开发,涵盖了制造执行系统(MES)的实施,以及工业物联网(IIoT)和项目质量管理的应用研发。
创客访谈
MX:在使用Mendix低代码平台开发应用软件前,你和你的部门/团队主要应用什么开发工具?
田月萍:在我们部门,作为专注于工业领域数字化转型的团队,涉及提供工业领域的数字化转型、人工智能、智慧楼宇、医疗等行业的解决方案。我们使用多种开发工具来满足不同项目需求。主要使用的开发语言包括Java、Python、JavaScript和C#等等,这些语言因其强大的功能和广泛的适用性,在开发工业解决方案时尤为重要。
MX:以前采用的开发工具有什么局限和问题?
田月萍:每种工具都有其局限性和问题,这些问题可能影响开发效率、项目维护和最终产品的性能。除了技术层面的局限性,还有项目管理和团队协作方面的问题,如版本控制、代码合并冲突、持续集成和部署流程的复杂性等。
MX:你是如何认识Mendix低代码的?
田月萍:最初是通过公司的官方网站了解到Mendix低代码平台的。在我们公司提供的工业解决方案中,有一些项目特别强调了使用Mendix进行快速开发和部署的能力。这些案例展示了Mendix如何帮助企业和开发团队缩短开发周期,降低成本,并提高项目的灵活性和可扩展性。此外,在我参与的一个项目中,我们负责开发与碳排放管理相关的功能。这个项目中的一部分功能就是使用Mendix开发的。通过这个实际的项目经验,我深入了解了Mendix平台的功能和优势。我注意到Mendix提供了一个直观的图形化界面,允许开发人员通过拖放组件和模型驱动的方式来构建应用,这大大简化了传统编码过程中的复杂性。
MX:改用Mendix低代码作为应用开发平台的主要原因有哪些?
田月萍:改用Mendix低代码平台作为应用开发平台的主要原因可以从多个角度来分析,包括组织驱动、项目需求、成本效益、开发速度和沟通效率等。随着数字化转型的趋势,组织越来越需要快速、高效地开发应用以满足市场需求。Mendix低代码平台提供了这样的能力,使得组织能够更快地响应市场变化,加速创新。低代码开发平台通过减少手写代码的需求,可以显著降低开发成本。它允许非技术背景的人员参与到开发过程中,减少了专业开发人员的依赖,从而降低了人力成本。
MX:截至目前,你和你的部门/团队利用Mendix低代码开发的应用有哪些?这些应用是自己部门使用还是支持其他业务部门使用?
田月萍:截至目前,我和我的团队利用Mendix低代码平台开发了一系列应用,这些应用不仅服务于我们部门内部的需求,也支持了公司其他业务部门的工作。以下是几个主要的应用实例:
-
产线碳排放估算:这个应用帮助我们估算生产过程中的碳排放量,支持企业的环保和可持续发展目标。它通过收集和分析生产数据,提供实时的碳排放估算和报告。
-
产线建模模拟:这个工具用于模拟和优化生产流程,帮助提高生产效率和资源利用率。通过Mendix的低代码环境,我们能够快速构建和调整模型,以适应不断变化的生产需求。
-
工厂质量管理:这个应用提供了一个平台,用于跟踪和管理生产过程中的质量问题。它帮助团队及时发现问题,采取纠正措施,并持续改进产品质量。
-
8D分析工具:这是一个用于根本原因分析和问题解决的工具,遵循8D问题解决流程。它帮助团队系统地识别问题根源,并制定有效的解决方案。
-
部门创意收集:这个应用旨在促进内部创新,允许员工提交和分享新的创意和改进建议。它提供了一个集中的平台,用于收集、评估和实施这些创意。
-
EHS风险评估管理:这个工具用于评估和管理环境、健康和安全(EHS)风险。它帮助确保遵守相关法规,同时保护员工和环境的安全。
这些应用不仅提高了我们部门的内部工作效率,也为其他业务部门提供了支持,帮助他们更好地管理日常运营,提高工作效率和决策质量。
MX:在开发的这些应用中,使用了Mendix的哪些组件/模块?有什么感受/反馈?
田月萍:在我们使用Mendix开发的这些应用中,我们充分利用了Mendix Studio Pro提供的各种组件和模块,以及一些第三方集成和扩展。以下是我们在开发过程中使用的一些关键组件和模块,以及我们的感受和反馈:
-
登录认证(SAML和OIDC):这些模块用于实现单点登录(SSO),使得用户可以无缝地访问我们的应用。它们提高了安全性,简化了用户管理流程。
-
EMAIL:电子邮件模块用于自动发送通知和更新,这对于我们的质量管理和问题解决工具尤为重要。它提高了沟通效率,确保了信息的及时传递。
-
AnyChart:这个第三方图表和可视化工具模块帮助我们创建复杂的数据可视化,这对于碳排放估算和质量管理应用特别有用。它增强了数据的可读性和洞察力。
-
Excel导入导出:这个模块允许用户轻松地导入和导出Excel文件,这对于数据管理和报告功能非常重要。它提高了数据处理效率,减少了手动操作的需求。
-
PDF-Word相关模块:这些模块用于生成PDF和Word文档,这在创建报告和文档管理应用中非常有用。它们提供了高度的格式灵活性和文档兼容性。
-
Drag & Drop 模块:拖放模块用于创建直观的用户界面,特别是在我们的建模和模拟工具中。它提高了用户体验,使得非技术用户也能轻松操作。
-
SharePoint集成:SharePoint集成模块允许我们的应用与SharePoint无缝协作,这对于文档管理和团队协作应用至关重要。它增强了跨平台工作的能力。
-
Siemens UI Resource:这个特定的UI资源包,可能包括定制的UI组件和样式,用于匹配Siemens的企业品牌和设计标准。它确保了我们的应用在视觉上与企业的整体风格保持一致。
MX:当你用Mendix开发应用碰到困难时,你通常会在哪里得到帮助或找到答案?
田月萍:有很多地方可以帮助我们获得帮助,例如:
-
Mendix社区:Mendix拥有一个活跃的开发者社区,我可以在社区论坛上发帖提问,或者搜索是否有其他开发者遇到过类似的问题。社区成员通常非常乐于助人,能够提供实用的建议和解决方案。
-
Mendix官网文档:Mendix的官方文档非常全面,包含了许多教程、指南和API参考。我经常在这里查找特定功能的使用方法或最佳实践。
-
在线教程和课程:互联网上有许多关于Mendix的免费和付费教程,这些教程可以帮助我学习新的技能和解决特定问题。YouTube和其他教育平台上的视频教程尤其有帮助。
-
Yammer:Yammer是我们公司内部使用的社交网络工具,我可以在上面向同事求助,或者分享我在Mendix开发过程中的经验和教训。
MX:在用Mendix开发的这些应用中,你最引以为傲的应用是哪个?能否具体介绍一下?
田月萍:多用户评分与数据分析系统,旨在优化内部的项目评估流程,特别是当涉及到多个部门或团队共同参与决策时。在有限时间内,让不同部门的专家能够快速、准确地对一系列提案进行评分,同时确保评分过程的透明度和公平性。传统的电子邮件或纸质评分方式不仅效率低下,而且难以汇总和分析结果。利用Mendix的低代码开发能力,结合自定义Java Action,构建了一个高度定制化的评分平台。以下是该项目的一些关键技术点和功能:
Excel数据导入
-
我们使用自定义的Java Action开发了一个强大的数据导入功能,允许用户上传包含复杂样式的Excel文件,该文件包括多个工作表、公式和数据验证规则。
-
系统能够智能解析Excel文件,自动映射数据到Mendix实体模型中,同时检查数据格式和完整性,确保数据的准确导入。
多用户评分与权限管理
-
利用Mendix的权限系统,我们设计了一套评分流程,每个用户只能访问他们被授权查看和评分的提案。
-
用户界面直观,显示提案详情,并允许评分者输入分数。系统实时计算每条提案的平均得分,同时记录每位评分者的评分历史。
邮件通知与结果反馈
-
当评分周期结束时,系统自动触发邮件通知,向所有参与者发送总结报告,其中包含了每个提案的最终得分和排名。
-
邮件中还附带了原始Excel数据的导出链接,方便用户下载和保存完整的评分记录。
这个系统显著提高了评分流程的效率,减少了人为错误,同时也增强了评分过程的透明度和公正性。企业能够更快地做出决策,同时保留了详细的评分记录,便于未来的审计和分析。
登录界面
设备管理
统计表
表单
MX:这些应用为实际使用者/客户带来了哪些收益?
田月萍:客户不需要有开发知识就能简单上传Excel模板进行导出固定展示内容的修改;通过Email提醒及Email中的长链接可以实时提醒用户处理相关事宜,而无需时刻刷新网站才能获取到最新信息,节约客户时间;对长链接的权限保护可以保护客户内容不被其他用户获取并修改。
MX:业务部门或客户对这些应用的使用有什么反馈?
田月萍:解决了线下文档不能统一管理的痛点,减少了收集相关数据所需花费的时间,同时保存了历史数据,可以快速查询相关内容及责任人,极大提高了工作效率。
MX:相较以往传统开发,你觉得Mendix的主要优势有哪些?
田月萍:
-
开箱即用:Mendix提供了许多预先构建的组件和模板,这意味着开发人员可以快速开始项目,而不需要从零开始构建每一个功能。这大大加快了开发速度。
-
拖拽UI开发:Mendix的图形化界面允许开发人员通过拖放组件来设计用户界面。这种方法不仅简化了开发过程,也使得非技术背景的人员能够参与到应用设计中。
-
减少bug发生:由于减少了手写代码的需求,Mendix可以帮助减少编码错误和bug。Mendix的模型驱动方法也使得应用更加稳定和可预测。
-
开发能力入门门槛低:Mendix的低代码环境使得即使是没有深厚编程背景的人员也能进行应用开发。这降低了进入软件开发领域的门槛,使得更多的团队成员可以参与到开发过程中。
-
部署简易:Mendix提供了简化的部署流程,支持一键部署到云平台,大大减少了部署和维护的工作量。
MX:相较市场上其它的低代码开发平台,你认为Mendix的优势有哪些?
田月萍:技术成熟度 和企业级支持;Mendix是一个经过市场验证的低代码平台,拥有多年的发展历史和广泛的用户基础。这意味着它已经经历了一系列的迭代和优化,提供了一个稳定、可靠和功能丰富的开发环境。Mendix提供了强大的企业级支持,包括安全、性能和可扩展性方面的保障。
MX:使用Mendix Pro IDE的环境有哪些感受?
田月萍:总的来说,Mendix Pro IDE是一个功能强大的开发环境,适合于开发复杂的企业级应用。主要表现在以下方面:
-
专业性:Mendix Pro IDE是一个为专业开发设计的强大工具。它提供了丰富的功能和选项,使得开发复杂的企业级应用成为可能。无论是界面设计、逻辑编写还是系统集成,Mendix Pro都能提供支持。
-
硬件性能要求:Mendix Pro IDE由于其丰富的功能和复杂性,可能对硬件性能有一定的要求。在使用过程中,可能会发现需要较高配置的计算机来确保流畅的开发体验,特别是在处理大型项目时。
-
大版本之间不兼容:在使用Mendix Pro的过程中,我们注意到不同大版本之间的兼容性问题。这可能导致在升级IDE或平台时需要额外的迁移工作,以确保现有应用的兼容性和稳定性。
-
现成逻辑模块封装:Mendix Pro的一大优势是其提供了许多现成的逻辑模块和组件。这些预构建的模块可以直接使用,大大加快了开发速度,并减少了手动编码的需求。
MX:近期你有什么应用开发的计划会采用Mendix低代码平台实现?
田月萍:近期,我们计划使用Mendix低代码平台开发一个工时维护填报系统(TMS)。这个系统的目标是简化工时记录和报告流程,提高工作效率和准确性。
MX:你希望Mendix在哪些方面进行优化和改进?
田月萍:在使用Mendix进行开发的过程中,我和我的团队确实发现了一些可以优化的方面。以下是几个我们希望Mendix能够进行改进的领域:
-
版本兼容性:随着Mendix的更新和迭代,保持不同版本之间的兼容性是一个挑战。我们希望Mendix能够提供更好的版本管理和向后兼容性,以确保现有的应用在新版本中仍然能够稳定运行。
-
Java调试模式优化:虽然Mendix减少了手写代码的需求,但在需要编写自定义Java代码时,调试这些代码可能会比较复杂。我们希望Mendix能够提供更强大的Java调试工具和更直观的调试界面,以简化这一过程。
-
文档清晰度:虽然Mendix的官方文档已经相当全面,但在某些情况下,文档的详细程度和示例的丰富性可能不足以解决所有问题。我们希望Mendix能够进一步完善其文档,提供更多实际案例和深入解释,以帮助开发人员更好地理解和使用平台的各项功能。