【问题标题】:WPF, Windows Forms, or something else?WPF、Windows 窗体或其他?
【发布时间】:2009-02-02 17:15:57
【问题描述】:

我们即将着手开发新产品。我们当前的产品是使用 VB.NET 编写的传统客户端-服务器 Windows 窗体应用程序。

WPF 是否已准备好用于业务应用程序? 从我所见,使用 WPF 开发用户界面似乎比使用 Windows 窗体更难。但我认为速度伴随着经验。不过,我有点担心 WPF 可能不会流行起来。

我们应该继续使用 Windows 窗体吗? 如果我们继续使用 Windows 窗体,我们是否将自己贬低为开箱即用的弃用?我认为它的上市速度会更快,但 Windows 窗体在 5 年后还会出现吗?

我们应该从 Microsoft 产品中迁移出去吗? 我们所有的开发人员都是 .NET 开发人员,因此迁移到另一个开发环境可能是不可能的。

我希望我有一个水晶球。

【问题讨论】:

  • 另一个要问的问题是 WPF 是否还会在 5 年内出现。到目前为止,我不喜欢我所看到的 WPF 和 WinForms 成熟且流行。众所周知,MS 会放弃不流行的技术。
  • WPF versus Windows Forms的可能重复
  • 5 年后,仍然可以创建 Windows 窗体,哈哈
  • 5 年后,Windows 窗体仍然可以创建,哈哈
  • 而且 WPF 也还活着。

标签: .net wpf winforms architecture


【解决方案1】:

我们冒险并完全在 WPF 中构建了我们最新的桌面电子商务包(报告除外,我们使用 ReportViewer 进行互操作)。我没有一天后悔过。 WPF 的声明式方法对每个人来说都很容易掌握,它有助于强制将 UI 与业务逻辑分离。

也就是说,如果您的团队有很多 WinForms 经验,那么花时间学习 WPF 可能会适得其反。

如果这不是问题,试试 WPF,也许你会被迷住。

【讨论】:

  • 这个问题被问到现在已经 4 年了,很明显:WPF 仍然存在——这让那些说它不会存在的人非常懊恼!看起来它会留下来。
【解决方案2】:
  1. WPF 用于最近的几个 MS 应用程序,包括 Visual Studio 2010,所以我认为在您自己的应用程序中使用它是“安全的”。开发速度当然取决于您对工具及其功能的熟悉程度。

  2. Windows Forms 五年后肯定还会存在。

  3. 如果您正在构建一个旨在在 Windows 桌面上运行的产品,您将很难找到比 .NET 更好的东西,尤其是考虑到它是您已经知道的。如果您认为有一天可能需要 Mac 或 Linux 端口,您可能需要考虑替代方案。即便如此,随着Mono 不断改进并且没有立即这样的移植计划,.NET 看起来还是不错的。

【讨论】:

  • +1 "Windows 窗体肯定还会在五年内出现。"现在它被证明是正确的。
【解决方案3】:

WPF 实际上比 Windows 窗体更易于使用,只是完全不同。一旦您了解了XAML 的强大功能以及您可以对数据绑定、样式和动画做什么,您就再也不想回到将控件拖动到 Windows 窗体设计器中了。

习惯于必须手动编写 XAML 而不是使用可视化设计器的想法。 Visual Studio 2008 中内置的 XAML 设计器是垃圾,Expression Blend 更好,但它非常面向设计器。

【讨论】:

    【解决方案4】:

    在我选择的平台(Windows 窗体或 WPF)中,我的主要问题是将应用程序安装在我们客户的 PC 上。

    我们的客户主要是大公司。因此,我们必须安装的每一个额外组件都意味着审批时间的延迟。

    所以我选择了 .NET 2.0 和 Windows Forms,因为这将预装在我必须安装的所有 PC 中的 90% 上。

    如果您的客户是家庭/最终用户,那么最精美的 UI (WPF) 可能值得一看。

    【讨论】:

      【解决方案5】:

      @GvS:这很没有实际意义,因为我几乎肯定 3.0/3.5 已经自动更新了一段时间。不过需要注意的是,Windows 2000 下不支持 WPF。

      要考虑的另一点是 WPF 和 Windows Forms 控件不可互换。如果你对 Windows Forms 控件有较大的投资,在 WPF 中的一个 Windows Forms 包装器中可以在一定程度上使用它们,但它是非常不同的。

      【讨论】:

      • 3.0/3.5 已通过 Windows 更新获得,但它是可选更新。很少安装可选更新。
      • 大公司更新平台的速度很慢。在允许安装组件之前,必须对其进行测试以不干扰其他软件。我目前正在进行一年多的安装工作,以获得在 XP 上安装 .Net 的批准。幸运的是,我还有其他客户。
      猜你喜欢
      • 2011-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多