程序员修炼与低代码平台AppCube

网友投稿 490 2022-05-29

编者按:这是本人在《云享读书会——程序员修炼之道:通向务实的最高境界》的读书笔记,首次发表于  https://bbs.huaweicloud.com/forum/thread-63227-1-1.html 第117楼。全文如下:

在我观看《程序员修炼之道:通向务实的最高境界》的前四天,一直没有猜到华为官方会以AppCube作为实践作业为此次读书笔记的实践。毕竟一本由敏捷宣言的17个签署者中的2名重量级人物David Thomas(大卫托马斯)和Andrew Hunt(安德鲁亨特) 写的经典作品,难免不带点“敏捷”的基因。

而华为云中,最跟敏捷适配的产品,应属Devcloud了

(上图为 辉哥的巴赫猜想)

华为云Devcloud是将敏捷的理念和实践融合在一起,集Scrum,看板方法思想,Devops,持续集成为一体的一站式开发平台。其功能包含需求规划,代码仓库,代码扫描,编译构建,部署,测试等敏捷开发的各个流程。使用华为云DevCloud,基本上可以实现提交代码到部署上线的一键部署。即您仅需在编辑器中使用Git工具提交您的代码修改,后续的流水线作业(如代码扫描、编译构建、部署等)全部由华为云自动完成。您仅静静地用下面这个可爱的杯子泡杯茶,然后就什么事情都是华为云的了。

然而,我想错了!实践作业跟Devcloud并无半毛钱的关系。

当然,我又在揣摩自己,是不是因为官方听了我的话,接收了我的建议,毕竟我在云享读书会曾经提出这样的想法:(参见 https://bbs.huaweicloud.com/blogs/169268)

即:学员已经对读书会使用devcloud作为实践作业产生了审美疲劳。。。能不能换一个。然后读书会的组织者终于被逼的要有所创意,所以才换成AppCube?

我又仔细想了一下,好像我没那么厉害。应该是我并没有领悟到《程序员修炼之道》的精髓。直到2020年8月8日5:5这个对称的时间,我突然想到了一个哲学问题——

程序员,活着是为了干嘛?改变世界?那是乔布斯的使命。我只能做个普普通通的程序员,希望自己能用这双弹不了钢琴的柔弱双手,来维持自己微薄的生活。

那么,当我进入职场之后,多少会对自己的职业规划产生迷惑。因为一般情况下,程序员的野蛮生长,无非最终归结到两条路:

成为技术专家,这个一般是以P开头的职位,如阿里P6.

成为管理者,这个一般是以M开头的职位,如阿里M2

对了,几乎每个程序员的道路都离不开这两条路中的一条, 除非他选择了第三条路:放弃做程序员,改行去养猪。——请注意,我讲的这个改行去养猪,其实就是低代码平台中所说的——业务人员。

请读者不要小看这个养猪的,要是不懂得饲料,不懂得养猪技巧,不懂得猪瘟如何预防,是养不好猪的。而且,从道理上说,业务人员也并非低于软件工程师(即程序员)一等。(在前两天的泥石流群里的讨论中,我还第一次听到有项目在应用 业务敏捷。可见敏捷从来也不是IT行业的专有名词,甚至它的来源之一的精益,也是出自于生产系统。)

那么,回到主题,作为一个程序员,我们到底应该如何成长呢?在现在这个专业分工越来越细的今天,就连以前简单的JSP都变成了前端工程化,Java,C++,Python,PHP,Go,Ruby,JS等语言层出不穷,微服务、Serviceless、ServiceMesh、DDD、AI(机器学习、强化学习)、IoT、SLAM等技术也不断出现。面对IT领域这一知识谱系。程序员如果一天不学习,大概就觉得自己要落伍了(这可能也是我为啥不敢落下每期云享读书会的终极原因)

其实,低代码平台给大家的路线其实已经很清晰了。Low Code或者是No Code,就是有这样一个平台,你只需要进行拖拉拽,就可以靠各种组件来实现你自己的业务。你可能都不需要懂代码。当然,如果你懂一点代码也没事,你可以对组件本身做扩展,或者对组件的实现做一些扩展。平台预留给你扩展组件或者扩展组件特性的能力。这就是低代码平台的目的:让业务人员和软件工程师都能成功地使用低代码平台(请注意这里有泄露自测题的答案。。。)那么,作为低代码平台的初级使用者,这也许是你当程序员头几年可以快速入门的道路。

然而,你一定会想?这就是那个在学校里面学了(大于等于)四年计算机的我吗?当然不是。要知道,有些人很看不惯这种关于使用产品的问题,但是,一个好的程序员,绝对不会因为一开始老板让你去学习使用产品而觉得老板轻视你,而是会觉得,这正是一个机会。如果自己的目标是做一个比较“伟大”的产品,那么,总得知道心目中的产品是怎么样的吧?比如乔布斯的IOS、雷布斯的MIUI、还有华为的AppCube,正好是你作出一个好产品的参照物。你也许会这样想:我以后也要做成一个像AppCube这样一个伟大的产品(。。。看来已经摆脱不了软文的嫌疑了。。。)然后,你就会立足于,给AppCube多提BUG,多写云声建议。。。

是的,当你通过试用对AppCube等产品有了实际体验后的了解之后,你一定会想:这样的产品是怎么做出来的?需要怎样的技术?我们还是可以初看上面那张图:

对于AppCube的页面工具(UI Builder)而言,支持拖拉式的UI页面,使用VUE技术,融合了各种典型布局,由此来简化页面设计人员的操作,甚至使用UI Builder来制作页面的人,都不需要懂JavaScript,ES6,CSS、HTML或者Vue.js。当然,作为想修炼的程序员的你而言,你需要懂。而且,你甚至可以通过了解UI Builder融合了哪些页面模板,去思考这些页面框架到底是使用什么技巧设计出来的。此时,你会发现,自己的目标已经变成了,如何掌握高深的前端开发技巧,做出一个类似UI Builder的低代码页面来了——你看,你已经为你自己找到了一条修炼之道——成为一名出色的能制作低代码平台前端模块的高级程序员。

不仅仅是页面,要知道,AppCube的业务流程,也是通过托拉拽的方式制作的。如下图所示:

这个定义一个绩效考评业务流程的方式,完全也是所见即所得的方式。对于利用图形化的工具制作页面本身,对业务人员而言,其实已经没啥难度了。当然,对于每个节点具体的属性定义,业务人员也许会感到有些吃力。

毕竟像上面的 {! performanceRevice.employeeName} 这样的配置内容,业务人员还是需要有点理解才能会用。但是(初级)程序员在这块,应该已经是游刃有余了。

那么,高级程序员在这里会想什么?——对了,高级程序员最会的就是合并同类项的操作(找出事物的一般规律)。我们该思考那些类型的节点(如活动由哪些,事件有哪些,网关有哪些),每个节点应该有哪些属性和方法?这些属性和操作该用怎样的图形化界面来展现,才能让使用平台的人用起来顺手,也不觉得难?如何把看起来难度很大的东西做成一个类似LEGO搭积木就能完成的东西。体现高级程序员高级智慧的内容大概也就在此吧!

那么,我该如何抽取这些规律?这可能涉及到领域建模、业务建模、产品需求规划、业务调研、技术调研、系统分析,架构设计等一系列环节。咦,系统分析员和系统架构师是不是就是搞这个的?有可能。初级程序员和高级程序员之间的分野大概也在于此。你看,我已经给大家找到了一条通过AppCube进行程序员野蛮成长的道路。

让我们来回顾下《程序员修炼之道2》这本未拿到的书里面提到的一些关于程序员修炼的精华之语吧:(右边是笔者的注解,正如我注六经~六经注我。。)

程序员修炼与低代码平台AppCube

通过老师对《程序员的修炼之道2》的领读,感到自己作为一名伪程序员,还任重道远。很希望自己能通过更多的读书会,赢得白(拿奖品)富(态的啤酒肚)美(得像罗晋),走向人生巅峰。

(全文完,谢谢阅读)

云社区 应用魔方 AppCube

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:手把手教你用wxPython设计一个可以弹琴的计算器
下一篇:Imagemagick常用指令
相关文章