WPF生产准备好了吗?

时间:2009-01-11 20:32:07

标签: .net wpf

我想知道是否有人有WPF应用程序开发的经验 - 也许更有趣 - 在生产中运行WPF。

它是否足够成熟,可以用于大型项目?有哪些明显的陷阱?任何最佳做法? (WPF中的数据绑定看起来非常漂亮,但它是否适用于'真实'项目?)

提前致谢!

7 个答案:

答案 0 :(得分:19)

WPF推出了.NET 3.0。我们使用的是3.5 sp1,所以如果它没有生产就绪,MS已经有很多essplainin要做了。坦率地说,当3.0出现时,它已经准备好了。

我目前正在开发一个使用WPF进行模板化和数据绑定的项目(不是用于UI显示,但我使用UI类来定义模板)。我也使用WPF作为个人用品。而且,坦率地说,即使考虑使用Windows窗体用于UI,我也必须受到严厉打击。 WPF的简洁性和灵活性非常出色。它的数据绑定设施与黑客合并的窗体绑定模型相比非常壮观。而XAML是软件设计的一个革命性步骤,即imho。

WPF中的数据绑定不仅仅是漂亮的,它还允许您实现一些非常好的架构设计。 This is a good post that covers some of the more popular ones.把它想象成类固醇的MVC / MVP。

长话短说,跑。不要走路。

答案 1 :(得分:5)

我不确定它是否适用于大型产品,但如果这是你的一杯茶,它肯定适用于中型数据库驱动的应用程序。我使用WPF + SQL Server 2008创建了一个患者管理系统,并没有那么多麻烦。

陷阱 - 我有一个 - 字体。说真的,你如何解释你的非技术娴熟的客户,没有什么可以改善XP上的WPF字体渲染?这个领域非常痛苦,看起来并不像微软正在解决它。 (如果我错了,请纠正我。)

最佳做法?嗯,是的,你提到数据绑定,它运作得很好,但当然它有点抑制了清晰的层分离。我实际上认为,从WinForms时代继承的大多数意识形态仍然适用,前提是你已经设法开始以不同的方式思考UI。我对WPF的最佳实践是使用代码生成将数据库映射到WrapPanel中保存的一系列控件。实际上,这些包装面板非常棒,因为它们可以扩展到任何屏幕尺寸,并且布局实际上感觉平滑自然。

答案 2 :(得分:5)

我会说是的,它已经准备就绪,已经有一段时间了,但是有一些警告:

  1. 工具远非完美。虽然文本模式下的自动完成功能很好,但Visual Studio设计界面很糟糕。 Blend是一款出色的产品,但仍然不稳定(实际上它不应该是这样)而且它与XAML的“松耦合”可能非常烦人。
  2. 性能。如果您开始使用精美的图形,效果和动画(甚至是微妙的图形),那么您需要密切关注目标平台。将一些在你的开发平台上运行良好的东西放在一起非常容易,但在“客户端”PC上就像一只三脚驴一样。
  3. 学习曲线。虽然我认为WPF的陡峭学习曲线有点过于苛刻,但是开始以“WPF方式”思考需要一些时间,并且通常有很多方法可以做大多数事情。例如,大多数开发人员将使用绑定/重新绑定而不是使用ObservableCollection等创建他们的第一个WPF应用程序。

答案 3 :(得分:3)

为一家小公司发言,其主要目的是在应用程序中获取公司业务。我必须说wpf尚未准备好。

不易维护,不(非常)直截了当,开发人员在获取用户界面而不是编写业务代码时会浪费太多时间。

我们将回到智能客户端;)

亲切的问候, 维姆

答案 4 :(得分:2)

其实我认为答案是肯定的,不是......

我的经验中没有任何部分是WPF可用的工具。现在,它是一个非常陡峭的学习曲线,其中一个迫切需要的东西是使技术平易近人的好工具,例如表达混合/工作室和Visual Studio的集成水平非常差。 IMO简单的任务应该是简单的,复杂的任务应该是可能的,WPF复杂的任务确实可行,但简单的任务也很复杂。

说了这么多,如果你完成了学习曲线,并且可以应对低于标准的工具,那么生成的应用程序肯定是生产就绪的。

答案 5 :(得分:2)

重要的是你必须让自己适应WPF,而不是让WPF适合你。 你必须忘记关于UI编程(winform或spring)的所有知识。如果你认为WPF就像winform一样,你的生活将是痛苦的...... 这项技术已经准备就绪,你的代码可能不是......花时间去了解WPF中的优秀编程实践,而使用WPF的代码将是“生产就绪”。

答案 6 :(得分:1)

我在一个小团队中使用WPF的经验。

我同意Hypo并说是和不。

我是三个企业开发者中的一个,我们是体育行业,其中一个项目是锦标赛软件。我最近在WPF中重写了我们的得分/支架显示应用程序。显示器100%漂亮,但并不容易。来自WinForms的学习曲线很大,绑定功能强大但功能相同。我在VS 2008中遇到了很多WPF问题它每天至少崩溃我的IDE一次,我经常要删除我的用户文件或打开项目文件中的属性关闭我的IDE。在XP SP3上运行动画似乎在我们的XP sp3机器上只有50%是顺畅的,另外50%有大量丑陋的工件,并且表单似乎没有正确重绘。我的XAML编辑器有时会发疯,我必须关闭标签并重新打开它。我引用的所有问题都发生在4台不同的机器上。

我对框架的最终答案是肯定的。不工作,我浪费了太多时间来对抗我的IDE。对于那些只需要快速获得一些业务应用程序的小型团队来说是行不通的。一旦有更多控件,主题,项目模板,它在VS下工作。我可能会改变主意。

尽管我学习了很强的PAIN学习WPF / XAML仍然令人兴奋,但我常常对你可以做的一些很酷的东西感到震惊。