如何提出一个良好的WPF商业案例?

7

关于WPF与WinForms的问题以及迁移到WPF的好处,有很多问题,但我有一个更具体的问题,这可能是主观的,但一定会帮助我证明使用WPF的理由。

作为内部IT部门的一员,业务用户并不关心我们如何到达最终产品,但也不关心动画、样式等方面的事情。

我可以提出一些技术原因,但如何说服他们和管理层现在和长远来看WPF对他们有益呢?

任何改进UI控件等方面的例子都会有所帮助。

谢谢。

6个回答

7
作为我所看到的,WPF相对于WinForms最大的商业优势在于其显著提高了可测试性。由于WPF中普遍存在数据绑定的支持,因此像模型-视图-视图模型这样的模式变得容易实现,并使得应用程序的绝大部分交互逻辑能够被分离到ViewModel类中,而这些类作为Plain-Old-Clr-Objects比WinForms控件更容易测试。
第二个好处来自于WPF中“小部件”的可组合性。例如,使用数据模板可以轻松地自定义ListBox或ComboBox中项目的外观和感觉,相比之下,在WinForms中必须进行自定义绘制,因此WPF使得创建具有高可用性的应用程序比WinForms更加容易。
第三,控制模型和图形API是WinForms的巨大改进。当我想创建一个自定义图表控件,支持高效地呈现几百个系列时,我只用了几天时间就完成了 - 我记得在WinForms中类似的工作需要几周时间。作为另一个例子,我已经写过关于在WPF中轻松开始创建自定义甘特图控件的博客文章

5

如果你想说服管理层采用WPF, 可以向他们展示一些有趣的YouTube视频。我特别喜欢这个这个视频。:)

我能想到最重要的技术原因是将程序逻辑与UI分离。尽管也可以使用其他编程范式来实现。


谢谢提供这些链接,尽管我们的用户(目前)并不在意他们是否拥有令人惊叹的华丽应用程序或简单的WinForms应用程序。最终,我们可能会达到那个点(谁知道呢),但目前只是说服他们的阶段。 - HAdes

4
为了重申Kensai所提到的内容 - WPF确实使UI和业务逻辑的分离更加容易。
因此,您可以按照以下方式构建论点:
1. 使用WPF重写现有应用程序将迫使我们将业务逻辑与UI逻辑分开。 2. 分离业务逻辑后,我们现在可以以新颖的方式重复使用它 - 例如内部网络应用程序、移动应用程序等等,而不需要重新发明轮子。 3. 当下一个“大事件”出现时,我们可以快速开发这种应用程序。 4. 另有一个论点是,拥有现代化、设计良好的UI将提高用户的生产力。

2

从经验来看,Xaml相比WinForms使得UI的构建和维护(特别是对于复杂的UI)变得更加容易。数据绑定的改进也非常显著-它们不仅可以像其他人提到的那样使您的应用程序更具可测试性,而且还可以大大加快开发时间。WPF还包括XPS支持,因此如果您的公司计划使用“打印为PDF”功能,您可以告诉他们您将免费获得该功能。此外,WPF比WinForms“更受欢迎”,因此您会发现更多免费控件和新的、相关的WPF示例代码,这可以节省您的时间。最后,WinForms并没有任何问题。这项技术可能会得到微软的长期全面支持,但是WPF显然是他们用于新开发的“最喜欢”的技术,并将获得最佳的工具支持。您还可以认为Expression Blend工具显着加速了UI开发时间,并为您提供了将许多UI工作分配给设计师或UI专家的机会。


2
  1. 一旦你掌握了“WPF方式”,在XAML中构建完全功能的复杂UI比WinForms更快(因为它具有出色的数据绑定支持、组合控件、自动布局等功能)。

  2. 使用WinForms很难将逻辑与表现分离,而使用WPF则要容易得多 - 这使您的代码更加清晰、可测试,并且可以在未来使用不同的UI技术使用相同的逻辑。

  3. 显然,WPF正受到微软更多的关注,并且比WinForms发展得更快(例如,请参见VS2010)。

但是另一方面

如果我开始一个新项目,我会选择WPF,但是如果您已经有大量现有的工作代码,则重写所有代码可能不是您时间的最佳用途。

WPF仅适用于Windows XP SP2或更高版本,这对于商业应用程序并不是限制,因为购买软件的任何人都已经升级到XP多年了 - 但在企业环境中,如果您仍然拥有Win2K机器,则可能会有问题。


0

只是给他们举一个现在Markit公司正在寻找的工作的例子。现在不需要太多WinForms开发人员,而是需要WPF开发人员。如果趋势是使用WinForms,他们可能无法吸引到优秀的人才。

此外,WPF使得托管旧的WinForms或者反过来(在WinForms中托管WPF)更加容易,这就是我们进行部分/分阶段迁移的方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接