站在工厂的角度闲聊WPF与Winform
站在工厂的角度闲聊WPF与Winform,这里不是要讨论两者的优势与劣势,而是从另一角度去描述两者。WPF与Winform都可以用于开发桌面应用程序,但在这里只想结合我个人工作经验去说明工业软件怎么去选择它俩。
情况一:在炼钢工厂,需要一款软件去实时监控天车与台车的位置。如果用Winform去实现,展示天车与台车实时位置的界面会出现卡顿现象,换成WPF去实现,则很柔顺地实现二维动画,如果要用到三维,更要选择WPF。
情况二:在生产线上,每台设备都有工业软件协助操作,同时现场或办公室还需要屏幕展示所有设备的运行情况,这就既要Winform,也要Web,此种情况,你可以选择WPF。
情况三:很多工厂都有监控重量、温度、湿度与电压等需求,类似于这类信息的显示,工厂需要一些特定形状的控件来实现,此时,你可以选择WPF,因为WPF的UI扩展性特别好。
情况四:当有多个界面涉及数据库中相同表时,甚至界面操作功能大部分相同,只是数据展示不同(界面1用表格展示,界面2用图形展示),你可以选择WPF,因为有Prism、MvvmLight等框架来实现多个View绑定一个ViewModel,非常方便开发与维护。
不属于上述几种情况,你可以选择Winform。特别考虑电脑性能和第三方库时,你也可以选择Winform。
本人既不盲目推荐WPF,也不盲目推荐Winform,因为这两者都让我尝到过甜头,也让我尝到过苦头。
我甚至在一个项目中同时用到Winform与WPF,唯一感到不足之处,在于皮肤切换时,两者不能兼顾,即使花费大量时间调整两者的差异,也觉得两者不能很好地相容。