前言
大家好,我是小代,一名00后的Java后端开发工程师。我热爱编程,希望通过写博客来分享我的学习经验和心得。最近,我加入了一家专注于低代码开发平台的公司,这里的技术挑战和新颖性让我决定开始我的博客之旅。
工作经历
A公司经历
自2021年年初我一个人来到了北京,开始了我在北京的快乐(苦逼)生活,来北京后先后经历了A公司和B公司两段工作经历。在A公司,我参与了公司自用的生产制造业ERP系统的开发,系统开发了整整两年才得以上线,每个模块都是修修改改无数次,导致经常要加班写代码赶需求。因为经常加班系统又做的很慢除我以外其他所有的后端开发人员都没有坚持超过半年的,而我也在这A公司拼命坚持两年后离开了这家公司。
(地铁晚高峰,当时疫情还没有结束)
B公司经历
来到新公司后,我以为我的幸福生活要来了。没成想又是一场噩梦难度开局的工作经历!我在B公司的面对的都是SSM项目,前后端不分离,前端是通过JSP实现的,而且也要后端去写,代码没有任何设计和规范,缺少封装有大量的重复代码,上万行的文件随处可见。并且使用了大量的数据库中的存储过程和触发器来实现业务,导致项目维护起来很难,而且是由十多个系统公用一个数据库,这个数据库中数据表有一千多个,我入职后做的最多的就是修改几年前留下来的BUG。说到这我也该走了。去我当前刚入职的公司。
(一万多行的当时没有截图,看一个八千多行的吧)
将到C公司
在A公司我累死累活,在B公司我又心理折磨!该我爽一次了吧!C公司是我之前的同事内推我来的,该公司是做低代码开发平台的,入职这家公司也是我了解低代码的开始。
低代码初体验
需求来了
在来C公司之前我个人还是有些忐忑,因为从未接触过低代码开发平台。为了更好地适应新环境,在入职前的一周时间我每天会抽一点时间来研究公司官网上的文档学习平台的使用。后面在入职后的前两天领导先让我熟悉平台的使用,因为我在入职前自己就通过官方文档了解了一些东西,再加上平台页面简单易操作的特性,所以很快平台上的各种功能我就已经融汇贯通了。之后刚好公司要用平台帮客户做一个PC+移动双端的应用,就交给我来做了,当做是检验我的学习成果了。
需求内容
需求的大致内容主要是要实现执法队员(执法队员都是在移动端来进行操作)去门店进行巡查,巡查会生成巡查记录,如果巡查发现了隐患,存在隐患需要生成隐患排查记录,如果隐患比较严重,需要后台自动生成整改工单并发起流程。执法中心人员能够在PC端查看执法队员巡查产生的巡查记录、隐患排查记录和发起的整改工单,其中逻辑比较多的是关于整改工单这一模块。整改工单中门店的整改时间超过了整改时限后可由执法队员发起延期申请,如果门店整改完成了也可以发起复查申请,最终都由执法中心人员在PC端进行审核。下面是整个业务流程的流程图。
初体验感受
day0
看完这个需求大家可以预估一下大概要多久时间去完成。当时老板给我的时间是要一周时间才能做完,虽说我对平台大部分功能已经融汇贯通,但是我内心里总是会想之前通过写代码去实现需求的噩梦经历,啪啪啪(手指敲打键盘产生的美妙声音)的写、啪啪啪的改,终于能够测试了然鹅这时已经两周了。然后测试出一些BUG,我继续啪啪啪的改。这次终于改通过了,能够上线了。结果上线后又出现了生产的BUG。我继续继续啪啪啪的改,哦耶!解决;时间:哦耶!两周半;老板:哦耶!上线晚那么久绩效给我往死扣。
(应用开发模块截图)
day1
不过好在我经历了的够多,没多久心态就稳住了。想那么多不如抓紧干。我直接先通过平台创建应用,在通过平台创建实体表和ER模型。这时有了实体表和ER模型。就可以进行下面的操作了。通过表单设计器来设计PC表单和移动端表单,一边设计我一边预览调试,所见即所得,我认为平台最实用的功能之一。慢慢我工作入了迷,随着我一个个表单设计完善,黑夜也慢慢到来。啪(笔记本电脑屏幕合住的声音),下班!我嘴角微微上扬,心理默默说着什么他妈的叫惊喜!什么他妈的叫他妈的惊喜!惊喜就是以我现在的进度来算一周的时间都用不到我就可以完成整个应用的构建。我在第一天里设计了数据库表、ER模型、PC表单和移动端表单,第一天我的总结:快,出乎意料的快。
(移动端表单设计器)
day2
第二天来到公司我开始接下来的工作,设计流程模型,我需要分析需求的业务流程后通过平台的流程设计器来进行流程设计。并且把流程和我前面设计的表单进行关联。这时我们的流程才算完整。完成了流程的设计后我通过页面模型模块来进行页面列表的构建,页面列表整合我前面所构建的ER模型、表单模型和流程模型,来实现新增,修改,删除,详情,和流程的流转,并通过自定义sql实现页面数据的渲染,构建出所有的页面列表后这时应用已经被我开发了90%。第二天的时间也刚好过去,这第二天的总结:强,通过各个模块进行设计,然后在进行关联从而实现复杂应用开发。
(流程设计器)
day3
第三天其实已经没有太多的工作了。完善一下表单和流程的提供的事件配置来处理一些复杂操作。最后通过菜单配置和授权配置给对应的角色分配我开发的页面和表单的权限。然后进行测试,完善一些漏掉的逻辑或者功能,比如我就漏掉了数据权限,不过好在平台提供了数据权限的配置,我只需要点点点,就实现了执法队员角色数据权限的隔离,自己只能看自己的。执法中心人员实现能看自己部门下所有的数据单不能看别的部门的。开发测试完直接就通过导出和导入功能在客户的环境进行了交付上线。交付后一直稳定运行没出过问题。这第三天到现在我的总结:稳,低代码甚至零代码去实现应用开发,这也直接助力低代码开发的应用稳定性秒杀手写代码去开发。
(移动端部分页面效果图)
总结
结束了累死累活(A公司天天加班)的苦逼生活,也结束了提心吊胆(B公司随时蹦出几年前的BUG)的心理折磨;终于迎来了我的解放时刻!
低代码的处女体验给我的主要感受:快,出乎意料的快,一个通过编写程序可能需要3到4周的需求,使用低代码平台仅用了3天就开上线;强,通过各个模块进行设计,然后在进行关联从而实现复杂应用开发;稳,低代码甚至零代码去实现应用开发,这也直接助力低代码开发的应用稳定性秒杀手写代码去开发。
也经过这次的体验我才算是真正理解到了官方平台上这句话的含义:让开发者注重专注业务,降低技术难度,缩短项目开发交付周期,提高软件安全质量,节省人力成本,为企业数字化建设降本增效。