导读:
本文讲述了一家专注于无人仓业务软件产品的公司,为解决低代码平台、零代码平台中后端业务代码难以阅读的问题,开启了一场创新探索之旅。从 19 年项目中遭遇的困境引出问题,经过团队头脑风暴,确定以图形化编程为方向。详细介绍了自主研发图形化编程桌面的过程,包括 “饺子皮” 选用成熟低零代码平台,“饺子馅” 的精心设计及遇到的难题与解决方案,如采用树形结构替代传统流程图等。历经三年努力推出产品,并在多个项目中取得良好效果,今年 9月官网上线,期待大家提出宝贵意见。
正文:
在软件编程的世界里,我们常常会为了一个难题而绞尽脑汁,就如同为了一口醋,努力去包一顿饺子。而今天,我要讲述的就是我们公司为了解决低代码平台、零代码平台中后端业务代码难以阅读的问题,所经历的一场独特而精彩的探索之旅。
我们公司多年来专注于无人仓业务软件产品,为 AGV 厂家做配套。这本是一条安稳的发展之路,无需在激烈的 To B 市场中拼杀,也无需过多操心商务事宜。看着挺美是不是?
然而,问题总是在不经意间出现。
回忆起 19 年的那个项目,印象深刻至极。当时为一家大型物流公司做无人仓系统,这还只是个定制化项目。可就在上线阶段,项目团队的核心成员生病了,而他所做的功能与业务需求仅有一点点偏差。于是,另一位同事顶上去修改功能,生病的同事则远程支持。这位顶替的同事连续奋战 36 小时,两天一夜未合眼,却仍未成功。公司其他同事因在业主现场保生产而无法抽身,毕竟业主三班倒,公司安排了十几个人陪产。最终,这位同事又花了两天时间重写了这套功能,整个项目才得以正常运行。这一小小的功能修改,竟耗费了公司十几个人整整一周的人力代价,大家都疲惫不堪。
尽管项目结果令人满意,AGV 厂家和业主方都给予了高度评价,但我们也清楚,照这样的方式做产品,大规模推广是不可能的。于是,公司组织大家对这个项目进行复盘,总结出了几个关键问题:代码个性十足,过度依赖特定开发人员;前期业务调研虽仔细,但代码实现仍有偏差;后期改代码不改文档,管理压力大且成本高;在繁杂的代码中寻找业务规律犹如大海捞针。
有了 “醋”,就得思考包什么样的 “饺子”。公司团队针对这些问题展开了一场激烈的头脑风暴。各种声音此起彼伏,有人提议从架构突破,有人主张从规范注释入手,有人建议换低代码平台,有人呼吁上微服务,还有人提出从加强管理方面尝试。而我提出了一个关键问题:如果传统解决方案能解决无人仓业务软件问题,市面上早就有成熟产品了,我们也就没有机会了。这意味着我们必须跳出传统思维,寻找问题的根本原因。
经过深入讨论,我们明确了方向:程序部分必须简单易懂,测试要高效,不能一改程序就重启服务。显然,传统代码编程无法满足这些要求,图形化编程成为了我们的目标。
接下来,我们开始准备 “包饺子” 的原料。“饺子皮” 方面,市面上已有很多低零代码平台,对一些常见功能的封装相当成熟,我们可以直接拿来用。而 “饺子馅” 却成了难题。寻找能替代传统代码开发的图形化编程工具并非易事,网上的工具要么无法体现业务关系,要么在复杂程序下图形布局混乱,开发效率低。看来,这 “饺子馅” 只能自己做。
我们精心设计了 “饺子馅”,包括菜单区域、快捷键提示区域、架构管理与自定义组件区域、工作槽位区域、组件属性区域、日志区域和返回值区域,还内置了标准组件面板和自定义组件面板。我们借鉴传统 IDE 的布局,符合人们的视觉习性,同时全力避免页面跳转和减少弹框次数,以防止繁杂操作打断开发者的编程思路。
在选择图形化编程的表达方式时,我们经过多次内部实验,发现传统流程图存在诸多问题,如程序逻辑复杂时图形超出屏幕范围、组件摆放连接耗时、信息密度低、多程序嵌套展示困难等。最终,我们决定采用树形结构的方式进行图形化编程。
为了在界面上呈现更复杂精细的程序逻辑和抽象理念,我们在元素设计阶段采用了小图标和小文字。虽然看起来图标和文字小了点,但在高分辨率环境下,对于编程平台来说,能展示足够多的信息密度才是关键。我们的图文混编效果,在单屏幕上呈现出远超传统代码编程的信息密度。
我们还设计了快捷键,让开发者可以用全键盘搭建图形化程序,提高搭建效率,专注实现编程思路。同时,考虑到程序员经常晚上加班,我们增加了各种主题风格,让程序世界变得更加美观,为程序员带来更好的心情和体验。
“饺子馅” 做好后,“包饺子” 就简单了。只需将图形化编程桌面集成到喜欢的低零代码平台上即可。我们在多个项目中进行了试用,效果非常稳定。将以前的程序代码图形化后,阅读和理解变得极其容易,项目的升级迭代也更加方便。
历经三年的执着坚持与潜心探索,我们怀着敬畏之心,谨慎地推出了这款图形化编程桌面。它与传统低零代码平台紧密融合,成功替代了复杂业务的后端代码编写工作。我们的图形化编程桌面(优树搭)已经为众多大型生产制造业的线边生产系统注入了强大的高效与稳定能量,实现了 7×24 小时不间断运行。今年9月,官网(youshuda.cn)与大家见面,让我们共同期待它带来更多的震撼与精彩。
最后,我想问大家,我们为了这口 “醋” 包的 “饺子” 值得吗?我们花费了大量时间研发 “饺子馅”,期待大家品尝后提出宝贵意见,让我们把这 “饺子馅” 改良得更加美味。