为 “醋” 包 “饺子”:图形化编程桌面的诞生之旅

简介: 本文介绍了一家专注无人仓业务软件的公司,为解决低代码、零代码平台后端代码难读的问题,历经三年自主研发图形化编程桌面的过程。通过精心设计“饺子馅”并采用树形结构替代传统流程图,最终推出的产品在多个项目中取得了良好效果,并于今年9月上线官网,期待用户反馈。

导读:
本文讲述了一家专注于无人仓业务软件产品的公司,为解决低代码平台、零代码平台中后端业务代码难以阅读的问题,开启了一场创新探索之旅。从 19 年项目中遭遇的困境引出问题,经过团队头脑风暴,确定以图形化编程为方向。详细介绍了自主研发图形化编程桌面的过程,包括 “饺子皮” 选用成熟低零代码平台,“饺子馅” 的精心设计及遇到的难题与解决方案,如采用树形结构替代传统流程图等。历经三年努力推出产品,并在多个项目中取得良好效果,今年 9月官网上线,期待大家提出宝贵意见。

正文:

在软件编程的世界里,我们常常会为了一个难题而绞尽脑汁,就如同为了一口醋,努力去包一顿饺子。而今天,我要讲述的就是我们公司为了解决低代码平台、零代码平台中后端业务代码难以阅读的问题,所经历的一场独特而精彩的探索之旅。

我们公司多年来专注于无人仓业务软件产品,为 AGV 厂家做配套。这本是一条安稳的发展之路,无需在激烈的 To B 市场中拼杀,也无需过多操心商务事宜。看着挺美是不是?
image.png
然而,问题总是在不经意间出现。
回忆起 19 年的那个项目,印象深刻至极。当时为一家大型物流公司做无人仓系统,这还只是个定制化项目。可就在上线阶段,项目团队的核心成员生病了,而他所做的功能与业务需求仅有一点点偏差。于是,另一位同事顶上去修改功能,生病的同事则远程支持。这位顶替的同事连续奋战 36 小时,两天一夜未合眼,却仍未成功。公司其他同事因在业主现场保生产而无法抽身,毕竟业主三班倒,公司安排了十几个人陪产。最终,这位同事又花了两天时间重写了这套功能,整个项目才得以正常运行。这一小小的功能修改,竟耗费了公司十几个人整整一周的人力代价,大家都疲惫不堪。
image.png
尽管项目结果令人满意,AGV 厂家和业主方都给予了高度评价,但我们也清楚,照这样的方式做产品,大规模推广是不可能的。于是,公司组织大家对这个项目进行复盘,总结出了几个关键问题:代码个性十足,过度依赖特定开发人员;前期业务调研虽仔细,但代码实现仍有偏差;后期改代码不改文档,管理压力大且成本高;在繁杂的代码中寻找业务规律犹如大海捞针。
image.png
有了 “醋”,就得思考包什么样的 “饺子”。公司团队针对这些问题展开了一场激烈的头脑风暴。各种声音此起彼伏,有人提议从架构突破,有人主张从规范注释入手,有人建议换低代码平台,有人呼吁上微服务,还有人提出从加强管理方面尝试。而我提出了一个关键问题:如果传统解决方案能解决无人仓业务软件问题,市面上早就有成熟产品了,我们也就没有机会了。这意味着我们必须跳出传统思维,寻找问题的根本原因。
image.png
经过深入讨论,我们明确了方向:程序部分必须简单易懂,测试要高效,不能一改程序就重启服务。显然,传统代码编程无法满足这些要求,图形化编程成为了我们的目标。

接下来,我们开始准备 “包饺子” 的原料。“饺子皮” 方面,市面上已有很多低零代码平台,对一些常见功能的封装相当成熟,我们可以直接拿来用。而 “饺子馅” 却成了难题。寻找能替代传统代码开发的图形化编程工具并非易事,网上的工具要么无法体现业务关系,要么在复杂程序下图形布局混乱,开发效率低。看来,这 “饺子馅” 只能自己做。
image.png
我们精心设计了 “饺子馅”,包括菜单区域、快捷键提示区域、架构管理与自定义组件区域、工作槽位区域、组件属性区域、日志区域和返回值区域,还内置了标准组件面板和自定义组件面板。我们借鉴传统 IDE 的布局,符合人们的视觉习性,同时全力避免页面跳转和减少弹框次数,以防止繁杂操作打断开发者的编程思路。
5.png
在选择图形化编程的表达方式时,我们经过多次内部实验,发现传统流程图存在诸多问题,如程序逻辑复杂时图形超出屏幕范围、组件摆放连接耗时、信息密度低、多程序嵌套展示困难等。最终,我们决定采用树形结构的方式进行图形化编程。
image.png
为了在界面上呈现更复杂精细的程序逻辑和抽象理念,我们在元素设计阶段采用了小图标和小文字。虽然看起来图标和文字小了点,但在高分辨率环境下,对于编程平台来说,能展示足够多的信息密度才是关键。我们的图文混编效果,在单屏幕上呈现出远超传统代码编程的信息密度。
image.png
我们还设计了快捷键,让开发者可以用全键盘搭建图形化程序,提高搭建效率,专注实现编程思路。同时,考虑到程序员经常晚上加班,我们增加了各种主题风格,让程序世界变得更加美观,为程序员带来更好的心情和体验。

“饺子馅” 做好后,“包饺子” 就简单了。只需将图形化编程桌面集成到喜欢的低零代码平台上即可。我们在多个项目中进行了试用,效果非常稳定。将以前的程序代码图形化后,阅读和理解变得极其容易,项目的升级迭代也更加方便。

历经三年的执着坚持与潜心探索,我们怀着敬畏之心,谨慎地推出了这款图形化编程桌面。它与传统低零代码平台紧密融合,成功替代了复杂业务的后端代码编写工作。我们的图形化编程桌面(优树搭)已经为众多大型生产制造业的线边生产系统注入了强大的高效与稳定能量,实现了 7×24 小时不间断运行。今年9月,官网(youshuda.cn)与大家见面,让我们共同期待它带来更多的震撼与精彩。

最后,我想问大家,我们为了这口 “醋” 包的 “饺子” 值得吗?我们花费了大量时间研发 “饺子馅”,期待大家品尝后提出宝贵意见,让我们把这 “饺子馅” 改良得更加美味。

相关文章
|
10月前
|
运维 安全 网络安全
没有谁不可或缺,宝塔的3个替代品
随着软件数量和复杂度增加,宝塔面板因用户友好的界面和丰富功能成为首选。但技术进步和开源社区发展催生了Websoft9、FastPanel和Urlos等新工具,它们在特定领域提供了与宝塔面板相媲美或更优的解决方案。本文介绍这三款工具的特点,旨在为用户提供更多选择参考。
没有谁不可或缺,宝塔的3个替代品
|
10月前
|
域名解析 监控 安全
比宝塔面板更好用的部署软件工具面世了
本文对比了宝塔面板与新兴部署软件Websoft9,介绍了Websoft9在部署开源应用时的独特优势,如丰富的即用型模板、简便的安装配置流程、支持泛域名解析及高效的安全性措施,适合不同技术水平的用户使用。
比宝塔面板更好用的部署软件工具面世了
|
12月前
|
Java 程序员 数据处理
这个工具,让程序可读性提升 1000%
优树搭是一款划时代的后端图形化编程工具,旨在解决编程中的代码难读问题。它采用树形结构和多槽位设计,使程序逻辑清晰易懂,无需编译即可实时查看效果。优树搭支持在线开发,具备图灵完备特性,并提供详细的调试信息,极大提升了开发效率。此外,它兼容多种编程语言,可与低代码和零代码平台整合,适用于各种复杂应用场景。官网现已开启公测,欢迎体验并提出宝贵建议。官网地址:https://www.youshuda.cn
这个工具,让程序可读性提升 1000%
|
分布式计算 DataWorks API
dataworks100g大小的csv文件怎么上传到odps?
【1月更文挑战第20天】【1月更文挑战第96篇】dataworks100g大小的csv文件怎么上传到odps?
241 1
|
10月前
|
消息中间件 Kafka
【赵渝强老师】Kafka分区的副本机制
在Kafka中,每个主题可有多个分区,每个分区有多个副本。其中仅有一个副本为Leader,负责对外服务,其余为Follower。当Leader所在Broker宕机时,Follower可被选为新的Leader,实现高可用。文中附有示意图及视频讲解。
276 0
|
芯片
利用两个IO口检测6个按键
【8月更文挑战第23天】在资源受限的情况下,可通过巧妙设计使用两个I/O口检测六个按键。硬件连接上,六个按键以不同组合方式连接至IO1和IO2:键1连IO1与地;键2连IO2与地;键3同时连IO1和IO2;键4经电阻接IO1并接地;键5同样处理但接IO2;键6则各自经电阻连接至IO1和IO2后接地。软件方面,设置两I/O为输入模式并启用上拉电阻,依据高低电平的不同组合判断具体按键。此法需注意实际应用中的参数选择与优化。
391 2
|
存储 关系型数据库 MySQL
|
运维 Linux 网络安全
类似宝塔的开源工具
【5月更文挑战第19天】类似宝塔的开源工具
1465 4
|
Java 调度
Java一分钟之线程池:ExecutorService与Future
【5月更文挑战第12天】Java并发编程中,`ExecutorService`和`Future`是关键组件,简化多线程并提供异步执行能力。`ExecutorService`是线程池接口,用于提交任务到线程池,如`ThreadPoolExecutor`和`ScheduledThreadPoolExecutor`。通过`submit()`提交任务并返回`Future`对象,可检查任务状态、获取结果或取消任务。注意处理`ExecutionException`和避免无限等待。实战示例展示了如何异步执行任务并获取结果。理解这些概念对提升并发性能至关重要。
267 5
|
NoSQL Java MongoDB
使用Spring Boot构建响应式应用
使用Spring Boot构建响应式应用