Mendix 创客访谈录|太迅的闪电侠如何发动闪电战

本期创客

微信图片_20240104160846.jpg
房杰
上海太迅自动识别技术有限公司      移动开发经理

大家好,我叫房杰,软件工程专业毕业,目前任职于上海太迅自动识别技术有限公司,任职的部门是软件事业部,担任移动开发经理。

上海太迅是一家专注于自动识别的软硬件系统集成企业,通过应用条码/RFID、蓝牙、视觉和移动计算等技术。帮助企业加强供应链执行,提高运营效率,减少运作成本,实现卓越运作。

作为自动识别行业的专家,主要大客户包含了欧莱雅,百安居等, 为客户提高产品质量、消除生产错误、降低制造成本,从而超越消费者期望。作为国内ERP厂商用友集团的供应链物流移动解决方案的OEM厂商,我们的产品已经成功运行在上千家企业。

创客访谈

MX:在使用Mendix低代码平台开发应用软件前,你和你的部门/团队主要应用什么开发工具?

房杰:之前主要使用的开发工具:

  • Android端开发:Android Studio

  • Web端开发:VS Code、HBuildX

  • Python开发:PyCharm

  • 数据库:DataGrip

MX:以前采用的开发工具有什么局限和问题?

房杰:主要就是Mendix上手快!您看我们公司的名字,“太迅”,为了尽快满足客户的需求,所以需要迅速解决问题。

而以往的情况,我们经常说要搞全栈工程师,这是什么意思呢,就是因为你不得不搞定太多开发工具。

先说说开发阶段哈~ 以前的开发工具需要逐个熟悉使用方式,学习成本较高;而且往往一个开发工具无法解决所有问题,需要在多个开发工具间来回切换使用,相互配合协作开发。

然后是部署阶段,每个开发工具打包后需要独立部署,无法做到和Mendix一样的一次打包部署即所有的打包部署方式。

MX:你是如何认识Mendix低代码的?

房杰:由于经手公司的质检项目,客户公司指定要求使用Mendix开发,遂自学Mendix开发,并在一月内考取中级认证证书。现已采用Mendix低代码平台开发应用6个月左右。

MX:改用Mendix低代码作为应用开发平台的主要原因有哪些?

房杰:因其“设计即开发、所见即所得”的魅力,以及极大提升开发效率的便捷,让我为之深深着迷——Mendix适合发动闪电战!

我可以分享一个业务上的小场景,也看看大家,如果传统模式,怎么实现。

我现在举的例子是“用户管理”模块。在项目中,用户管理模块,我们要覆盖很多个角色,例如系统管理员、质检部门经理、预检员、尺寸质检员、外观质检员、复审专员、审计专员、高管角色……人机交互界面方面,即便同一个界面也要切分不同视角,大家操作同一个部分、步骤,不同人员只能操作他们自己的那一块……数据实体即便同一张表、同一个字段,按照项目规定,我们也要设置不同权限,例如张三有权写入,但李四却只能读取数据等等……

这对于任何项目都是一个常用且头疼的问题,因为开发工作量随着角色与权限的变化而不同,随着每个项目报表展现的类型的不同而变化,是没有办法预先直接构建的。对比传统模式,要么在网上搜索别人开源的质量参差不齐的权限控制模块,要么把老项目代码拷贝过来,这些都没法直接集成。但Mendix内置了用户及权限的管理,只需要打几个对勾就行。请看我接手的配置:

微信图片_20240104160847.png

微信图片_20240104160847_1.png

微信图片_20240104160847_2.png

不知大家注意到没有,上面的图片也揭示着对于数据字段级的安全控制,以及逻辑部分的方法级的执行权限的控制。

最后Mendix开发调试也是很快的。传统模块你如果为了测试7,8种角色,就要退出再登陆,再退出再登陆,几圈后人都晕了。但Mendix能够运行期间快速切换角色,省了我们很大精力:

微信图片_20240104160847_3.png

类似例子还有审计日志模块,在制药领域特别关键,我看Mendix的短视频已经有了很好的展现,在此就不一一赘述。

MX:截至目前,你和你的部门/团队利用Mendix低代码开发的应用有哪些?这些应用是自己部门使用还是支持其他业务部门使用?

房杰:由于接触Mendix的时间还不是太久,目前利用Mendix主要在开发的是质量检验平台

MX:在开发的这些应用中,使用了Mendix的哪些组件/模块?有什么感受/反馈?

房杰:在开发质检平台的过程中主要使用了Excel导入/导出、定时任务、Universal File Viewer、Audit Trail、手写签名等。

  • Excel导入:

微信图片_20240104160847_4.png

  • 文件上传:

微信图片_20240104160848.png

  • AuditTrail:

微信图片_20240104160848_1.png

  • 定时器:

微信图片_20240104160848_2.png

  • JavaAction:

微信图片_20240104160848_3.png

MX:在用Mendix开发的这些应用中,你最引以为傲的应用是哪个?能否具体介绍一下?

房杰:是质量检验平台。

因为这个项目是在周期紧急,对Mendix一知半解的前提下进行的。如果当时采用的是传统的开发方式,我想是无法按期交付的。通过查阅官方文档,自身摸索相结合的方式,快速优质的实现了客户的需求,并在过程中,成功获得了Mendix中级认证证书,这个经历也将是我终身难忘的。

项目整体涉及首页、用户管理、主数据管理、常规检验、报表几个大模块。

其中用户管理使用的是Mendix自带的用户管理模块。只需简单的几步操作,便可轻松实现用户管理功能。

微信图片_20240104160849.png

主数据管理包括物料信息、物料检验计划以及AQL信息三个模块。这些模块主要使用Excel导入功能,快速实现主数据的期初维护。

微信图片_20240104160849_1.png

业务操作包括常规检验和DHR 复核两个核心功能。其中常规检验实现了便捷的物料检验操作,用户可以快速的创建检验记录,系统将会根据物料检验计划自动匹配生成一条/多条检验记录,用户可以选择并分别进行检验。

微信图片_20240104160849_2.png

点击Check按钮进入详细检验界面,对于非数据录入的检验项目,用户仅需点击接受/拒收按钮,即可完成检验。

微信图片_20240104160849_3.png

对于需要录入量具及检验数据的检验项目,用户仅需点击Start按钮,系统即可自动通过JavaAction与硬件设备(诸如游标卡尺、电子秤)等进行交互并获取其测量数据并保存下来,同时展示到界面上,使用时一目了然。在测量的同时,也会根据AQL信息,自动判断数值是否与规定值有出入,如果存在偏差,则自动改变数据颜色,让用户更加清晰的掌握测量信息的准确性。

微信图片_20240104160849_4.png

检验完毕后,用户即可通过Detail或报表界面,搜索并查看详情,通过继承的Export PDF功能,即可一键生成记录表并保存到本地。

微信图片_20240104160850.png

MX:这些应用为实际使用者/客户带来了哪些收益?

房杰:我想阿里最近提倡的“降本增效”是客户得到的最大收益。其中,Mendix在开发过程中为我节省了约67%的人力和时间成本。项目上线后,以其方便快捷的操作,为用户在数据测量和记录阶段免去了以往繁琐的纸质记录工作,提升了53%的工作效率

MX:业务部门或客户对这些应用的使用有什么反馈?

房杰:客户反馈:界面美观大方,操作简便易懂。比如上文提到的一键接受/拒绝以及自动测量数据,让用户省去一边看硬件测量设备一边纸质记录的繁琐工作。再比如自动的与AQL数据比对功能,让用户免去在测量完成后再次对照AQL信息表做相应判断的返工操作。同时附件也能一键上传并体现在报告记录中,替代了原先的文档+附件的传统落后方式。使得他们的工作效率获得了极大提升。

MX:相较以往传统开发,你觉得Mendix的主要优势有哪些?

房杰:我觉得主要有以下特点

  1. 极大减少编码量,提升编码效率

  2. 设计思路即实际执行逻辑

  3. 无需浪费时间在枯燥的界面布局上

  4. 插件来源统一

  5. 降低打包部署成本

MX:相较市场上其它的低代码开发平台,你认为Mendix的优势有哪些?

房杰:个人粗浅观点,微流已经可以吊打市面上其他的低代码开发平台了

微流让编码思路跃然于具体编码之中,我们都知道设计文档对一个程序的重要性,但往往需求是多变的,在紧张的编码开发环节,我们可能不能及时的更新文档,或者即使文档更新了,也会因为项目的紧急而忽略流程图的变更,这让原本重要的流程设计失去了本来的意义。而Mendix却让流程图始终贯穿开发,流程设计的变化即编码逻辑的变化,反之亦然。

同样的效果也出现在数据库的设计上,一幅UML类图的设计完成。即完成了数据库表的设计与关系设计。

我实在想不到还有什么比清晰而快速的实现需求更让开发者兴奋的事。

MX:使用Mendix Pro IDE的环境有哪些感受?

房杰:

  • 界面开发方面Structure mode和Design mode之间的快速切换,可以一键实现快速预览实际运行时的页面效果和设计结构之前的转换。使我可以在正在开发时就知道哪些地方在实际运行时是不适配的,从而快速作出调整;

  • 流程设计方面:我可以通过设计流程图的方式,拖拽模块,在生成一个界面执行逻辑流程图的同时,我的代码编写也同步完成了,这种逻辑编写方式是在常规编码开发中体会不到的;

  • 拥有强大的扩展能力:可以自定义java代码配合javaAction轻松实现在单纯前端编码不满足要求时的扩展开发。还有在现有组件不能满足需求时,可以通过react自定义组件的方式实现多样化的界面需求。

MX:近期你有什么应用开发的计划会采用Mendix低代码平台实现?

房杰:近期想通过Mendix实现用友NC后台的菜单及表单动态配置管理,以及应用内小程序的版本管理等。

MX:你是否会向其他的应用开发者推荐Mendix?你会如何推荐?

房杰:会!我一直相信事实胜于雄辩,我想要通过Mendix为我带来的开发效率与实际项目中的流程清晰度去说服其他的应用开发者。

关于Mendix

作为西门子Xcelerator平台的低代码引擎,Mendix正在迅速成为推动企业数字化发展的首选应用程序开发平台。Mendix让企业能够以前所未有的速度构建应用程序、促进IT团队与业务专家之间开展有意义的协作,并帮助IT团队保持对整个应用程序环境的控制。作为一直被领先的行业分析师视为“领军者和远见者”的低代码平台,Mendix是云原生的、开放的、可扩展的、敏捷的,并且经过实践验证。从人工智能和增强现实,到智能自动化和原生移动,Mendix和西门子Xcelerator已成为“数字优先”企业的中坚力量。Mendix已被46个国家的4,000多家企业采用,并建立了由30多万名开发人员组成的活跃社区,这些开发人员使用该平台创建了20多万款应用程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/325570.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HAL库之硬件SPI配置

一、设置RCC时钟(复位和时钟控制) 设置高速外部时钟HSE 选择外部晶振 Disable:内部时钟BYPASS Clock Source:外部旁路时钟源,指无需使用外部晶体时所需的芯片内部时钟驱动组件(%外部晶振起振需要内部有时钟驱动组件&a…

玩转Mysql 三(权限管理)

一、用户管理 1、登录MySQL服务器 语法示例: mysql –h hostname|hostIP –P port –u username –p DatabaseName –e "SQL语句" 详细命令中参数说明: -h参数 后面接主机名或者主机IP,hostname为主机,hostIP为主机…

Redis 给集合元素单独设置过期

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、场景 1.1 消费队列 1.2 Redis实现 二、常见的方案 2.1 为单独的 field 设置过期 2.2 设置整体过期时间 2.3 zset 结合 sc…

skimage图像处理(全)

文章目录 一、简介二、安装三、模块简介:API reference四、项目实战4.1、2D图像处理4.1.1、打印图像属性4.1.2、读取 / 显示 / 保存图像:skimage.io.imread() skimage.io.imshow() skimage.io.imsave()4.1.3、颜色空间转换:skimage.color.r…

给Flutter + FireBase 增加 badge 徽章,App启动器 通知红点。

在此之前需要配置好 firebase 在flutter 在项目中。(已经配置好的可以忽略此提示) Firebase 配置教程:flutter firebase 云消息通知教程 (android-安卓、ios-苹果)_flutter firebase_messaging ios环境配置-CSDN博客 由于firebase 提供的消息…

Tecplot 各版本安装指南

Tecplot下载链接 https://pan.baidu.com/s/1XbzjHnho8zIF7eC4KBFmgA?pwd0531 1.鼠标右击【Tecplot 360 EX 2023(64bit)】压缩包(win11及以上系统需先点击“显示更多选项”)【解压到 Tecplot 360 EX 2023(64bit)】。①解压前:需要先关闭“所…

x-cmd pkg | pdfcpu - 强大的 PDF 处理工具

目录 简介首次用户多功能支持性能表现安全的加密处理进一步阅读 简介 pdfcpu 是一个用 Go 编写的 PDF 处理库。同时它也提供 API 和 CLI。pdfcpu 提供了丰富的 PDF 操作功能,用户还能自己编写配置文件,用来管理和使用各种自定义字体并存储有效的默认配置…

Spark入门案例

Spark shell简介 启动 Spark shell 进入 Spark 安装目录后执行 spark-shell - -master master就可以提交Spark任务Spark shell 的原理是把每一行Scala代码编译成类,最终交由Spark执行 Master 地址的设置 Master的地址可以有如下几种设置方式 地址解释local[N]使…

【大数据进阶第三阶段之Hive学习笔记】Hive安装

目录 1、环境准备 2、下载安装 3、配置环境变量 4、配置文件 4.1、配置hive-env.sh ​编辑4.2、配置hive-site.xml 5、上传配置jar 6、启动 1、环境准备 安装hadoop 以及 zookeeper、mysql 【大数据进阶第二阶段之Hadoop学习笔记】Hadoop 运行环境搭建-CSDN博客 《z…

pygame学习(二)——绘制线条、圆、矩形等图案

导语 pygame是一个跨平台Python库(pygame news),专门用来开发游戏。pygame主要为开发、设计2D电子游戏而生,提供图像模块(image)、声音模块(mixer)、输入/输出(鼠标、键盘、显示屏)模…

云原生战专题 | 深入浅出分析云原生微服务的技术结构和架构设计

深入浅出分析云原生微服务的技术结构和架构设计 云原生容器技术背景容器编排Kubernetes控制平面的四大组件Kubernetes在容器编排中的设计要点 云原生微服务典型架构第一代微服务架构第二代微服务架构第三代微服务架构第四代微服务架构 未来的云原生架构 — Serverless 云原生容…

thinkphp学习04-控制器定义

控制器,即 controller,控制器文件存放在 controller 目录下; 如果想改变系统默认的控制器文件目录,可以在 config 下 route.php 配置: 将controller修改为controller123,就会报错,说明这个配置…