WinForm 和 WPF 目前依然有很多企业在用,虽然 WinForm 的 UI 界面比较简单,甚至丑陋,但传统企业用 WinForm 的还是比较多。
WinForm 从 .NET 诞生就有了,而 WPF 也有 10 年左右的历史。两者都可以用来开发 Windows 客户端应用程序。
WinForm 和 WPF 的区别WinForm 上手更简单,界面元素拖拖控件,编写少量的代码就可以完成一个简单的应用程序开发。启动时间更快,占内存少。由于控件样式基本都是固定的,它很难实现复杂或炫丽的UI效果。
下面是用 WinForm 做的一应用程序效果图:
WPF 学习路径更为陡峭,可以开发出视觉效果更好的UI界面,它非常灵活,因此你可以重新设计自己的控件。WPF 是使用 XAML 来布局的,这样有利于基于XAML的UI设计和程序代码之间的分工。WPF 有更好的对视觉和动画的支持。
下面是GitHub上的一个WPF开源库实现的效果图:
WinForm 和 WPF 的前景要说前景,从它们的发展历史来说,只能两种都不会过时。两者都有各自的优缺点,也有各自的使用场景。如果你对界面效果没有什么要求,只注重功能,追求性能,那么用 WinFrom 就可以了。如果你追求更好的视觉 UI 效果,工程体系比较大,WPF 就更合适。例如,你需要绘制或合并复杂的图像、3D 内容、或制造动画效果,那么使用 WPF 就有明显的优势。
偶的建议作为一名 .NET 开发人员,如果你的主要工作是 Windows 客户端应用程序开发,偶觉得 WinForm 和 WPF 都值得掌握。WinForm 上手超级简单,如果你熟悉 C#,基本上就等于掌握了 WinFrom。WPF 虽然学习路径有一点陡峭,但入门也是很简单的,只是学习到后面的 MVVM 模式时会有一点难度。但只要你掌握了就会发现 WPF 是个很有意思的技术。
希望以上解答了你的疑惑并帮助到了你。