用WPF为超长期项目选择C#?

时间:2009-05-25 10:09:58

标签: c# wpf

我参与了一个项目,一个开发团队正在建立一个非常长期的基础设施项目,以取代现有的10年历史的系统。 “非常长期”,我的意思是它必须从发布的角度开始运营,支持和维护至少10年。考虑到〜2年的发展,这意味着我们应该在这一点上选择一个技术/语言/框架至少持续12年。我们可以完全控制运行项目的计算机,它们的操作系统等。我是要被替换的10岁系统的开发者,我正在帮助团队建立新的系统。

该应用程序具有非常复杂的用户界面。 UI在启动时从配置文件动态构建,每个UI组件都依赖于逻辑和其他UI组件,它必须在运行时接收。 UI元素本身非常复杂,想象自定义仪表,图形,旋钮等。

项目中已经有两个选择,我不会判断或尝试改变:

  1. 它将是一个桌面应用程序
  2. 将在C#
  3. 中开发

    现在我们正在选择正确的框架,使我们非常灵活的UI系统“易于开发”,即依靠已调试的,已经制作的框架来减少开发人员错误的数量。

    该团队检查了微软的CAB(复合用户界面),这非常适合其目的,但微软在2007年停止使用该事实是一个巨大的问题,考虑到项目的长期方面(想想框架错误是在6年内发现 - 谁会提供支持? - 我知道我们可以在CAB中修复代码,但这是我们想要避免的。)

    显而易见的一件事是依赖微软的WPF。它似乎是UI开发的“未来”,但是在长期思考它时会让我感到害怕。我主要担心的是市场不会接受它,从现在开始3年后微软将停止使用它,而从现在起6年后我将无法获得适当的支持。

    然而,除了编写自己的框架之外,我并没有真正看到替代方案。我不想不尊重任何第三方框架开发人员,但对于这样一个长期项目,我只能使用来自非常成熟的供应商的产品/框架/等。

    对于在上述情况下选择WPF是否是正确的调用我会很感激(如果没有 - 对于使用C#的长期桌面应用项目来说,什么是正确的“复杂UI框架”?)。

    谢谢(抱歉这个长问题)

4 个答案:

答案 0 :(得分:7)

超长期? 10年? COBOL仍然在使用!

开玩笑说,我相信WPF是你最好的选择。过去几年,微软在WPF和XAML上投入了大量资金,在Silverlight上使用相同的核心基础架构(微软真正关心的)是坚持足够长时间的强项。我不认为WPF会很快被抛弃。

答案 1 :(得分:7)

Visual Studio 2010 UI已经在WPF中重写的事实是一个非常有力的证据,表明它们会在一段时间内支持它。

答案 2 :(得分:2)

  1. Smart Client Contrib
  2. Prism
  3. 如果您还没有看过它们,可能会有所帮助。

答案 3 :(得分:1)

WPF的采用率仍然相当低,尽管在我看来微软将在未来几年越来越多地朝着这个方向发展。 你可能不会对它感到非常高兴,但它是唯一可以想到的可靠选择。