上位机的事情要从2019年说起。当时想花钱找人给设备开发windows平台的上位机系统,只是一个尝试的想法。自己没做过不会就要找人。
以前搞的触摸屏项目都讲究界面的视觉效果的,大量动画来呈现工艺和对傻瓜式操作的直觉诱导。所以如果要搞上位机,界面效果非常炫和傻瓜直观透明的风格是不能变的。
国内的程序员搞windows桌面开发相对少,都搞互联网开发。找了几个人都不成,其中有一个研究了几个月也不成。他们都是卡在一点上,winform开发那一堆都没问题,但是UX要炫,表现力强,就必须用WPF,而且要非常熟练和有创意才行,可是普遍这方面都不行。其实也不是没人会,但是出来接活儿的很少见。
结果就萌生了自己学一学的想法。看了点C#的基础,就开始看WPF的基础应用,理解了Xaml,研究MVVM的开发模式,带带拉拉的学。逐渐发现WPF的展开和深化,是要以扎实的.Net功底才行。
所以暂时搁置WPF,又开始学习C#基础和面向对象编程。动态和静态、委托、lambda、事件、泛型、反射、多线程Task、依赖倒置、面向抽象编程、数据库、通信,简单的设计模式,沥沥啦啦不少知识点。
起初往往是追求结果,赶紧弄出来实现,所以很在意技巧细节。后来逐渐随着对抽象、封装,接口和类的理解加深,以及这些东西在和下位机具体应用中是如何满足需求细节的完善实现中,逐渐体会到其实局部技巧没那么重要,框架则非常重要。
这里说的框架并不是网上所说的那种别人做好的框架拿来直接用,而是自己在自身的世界中和平台上,找到适合自己的一种稳定的程序结构设计模式,这是尤为重要的。其实这是一个自我认知的过程,因为这才是对眼中世界的完整抽象。只有这样才能形成,成熟稳定可维护可扩展的完善方案,让现实离地腾空并溶化掉。如果不考虑长久,只是针对眼前的任务来解决,其实并不难,可是这样意义就不大了。要实现这个,需要的基础很多,不是短期可以实现的。
所以反倒是放慢脚步不着急了。一个是也不着急拿这个去赚钱,再者随着年龄大了,经常熬夜真是扛不住啊,还有工作、项目和出差。就是抻悠着往前走,学一点是一点儿,不强迫不放弃,把这做为习惯和爱好,甚至是乐趣的一部分。