2009-05-25 65 views
1

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

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

两种选择已经在对项目进行了,我不判断或尝试改变:

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

现在我们在选择正确的框架的一个点,使我们非常灵活的UI系统“易于开发”,即依靠降低开发者的错误数量在已调试的,已经制作的框架上。

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

显而易见的一件事是依靠微软的WPF。它似乎是UI开发的“未来”,但它在长期考虑这个问题时会吓到我。我主要关心的是市场不会接受它,从现在开始3年微软将停止它,并且从现在起6年,我将无法得到适当的支持。

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

我很感激对于选择WPF是否是给定上述上下文的正确调用(如果不是这样 - 对于使用C#的这样的长期桌面应用程序项目来说什么是正确的“复杂UI框架”?)。

谢谢(对不起长问题)

回答

7

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

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

+0

感谢您提供丰富的答案。关于你的笑话 - 我真的认为,在我们的日子里,计划未来10年几乎是不可能的,因为软件和硬件厂商推动我们每2-3年进行一次升级的速度...... – 2009-05-25 10:31:43

+0

“Silverlight(微软真正关心的)”五年后,这句话很有趣...... – Yaurthek 2014-04-28 09:33:39

7

Visual Studio 2010用户界面在WPF中被重写的事实证明,他们会在一段时间内支持它。

1

虽然在我看来,微软在未来几年会越来越重视这个方向,但WPF的采用率仍然很低。 你可能不会非常高兴,但它是唯一可以想到的坚实选择。