收银系统开发杂谈(1) -- 我没有使用 wpf

公司要搞一个windows下的收银系统,目前市面上大部分还是 winform(美团收银好像是 React Native)。综合考虑,最后前台的技术路线是:C# + Vue + Electron。看到这里有些人就要开喷了:“Electron 嵌套网页怎么与硬件打交道,你难道搞个 ocx 组件?”。当然,实际的关系是下面这样的(请原谅我画的抽象)

1,vue 通过 signalr,webapi 的方式与 selfhost 建立连接。
2,Vue 通过 webapi 操作硬件。比如打印,读卡,称重。
3,后台的消息先推送给本地 selfhost,然后selfhost 通过 signalr 发送给 vue。

那为啥不直接整 wpf 呢?

篮球界有一句经典的话:“我奶奶跟着乔丹都能夺冠”。同样在桌面开发中,也有句类似的:“桌面开发是吧,我懂。WPF拖拽控件,写事件,有手就行!”。如果只是写 Toy Program 的话,这句话是没错的。但如果你看过《WPF编程宝典》,就会知道拖拽控件写事件只是冰山一角。命令,样式,图画,动画等等每一项都是大坑。讲真,WPF 挺难学习的。况且收银系统注重界面,wpf 的 UI 库太少;wpf 程序员太少,不好招人;多端需求。总的来看,wpf 技术的掣肘太多。

posted @ 2020-11-05 16:12  Lip小时光  阅读(338)  评论(0编辑  收藏  举报