未来打样大型UI应用程序 – MFC与2008 Feature Pack或C#和Winforms?

前端之家收集整理的这篇文章主要介绍了未来打样大型UI应用程序 – MFC与2008 Feature Pack或C#和Winforms?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我公司在Visual C开发了一款使用MFC的长期产品,作为UI开发的标准.我们的代码库包含必须保持运行的旧版/古代代码的ALOT.这些代码中的一些比我更旧(最初写在70年代末),我们团队的一些成员仍然在Visual Studio 6上.

然而,内部令人遗憾地得出结论,与我们的竞争对手相比,我们的产品看起来有点陈旧,而且还有一些需要做的事情.

我目前正在开发一个与其他产品完全分开的UI区域.因此,在开始UI的其余部分的漫长过程之前,我已经有机会尝试“新”技术堆栈作为一种证明.

我在空闲时间一直使用Windows窗体和.net框架一段时间,享受它,但有点担心由互操作引起的头痛.虽然UI的这个特定分支不需要与传统的C代码库进行很多的互操作,但我可以看到这将成为未来的一个问题.

替代方案只是继续使用MFC,但尝试利用VS2008附带的新功能包.这是我最简单的选择,但我担心长寿,而不是利用这个优点.net …

那么我选哪个?我们是一个小团队,所以我的建议很可能被接受为我们发展的未来方向 – 我想要正确的.

MFC死了吗C#/ Winforms的前进方向吗?还有什么我完全失踪的吗?帮助非常感谢!

解决方法

我是一个拥有大量遗留MFC代码的应用程序的开发人员,我们也有同样的关切.我们的策略的一大驱动力就是消除尽可能多的风险和不确定性,这意味着避免“大重写”.众所周知,TBR大部分时间都没有.所以我们选择了一种增量方式,使我们能够保留在当前版本中不会改变的模块,管理的新功能,以及正在获得管理功能功能.

你可以这样做几种方法

>您的MFC视图主机WPF内容(见here)
>对于MFC MDI应用程序,创建一个新的WinForms框架并托管您的MFC MDI视图(见here)
> MFC对话框和视图中的主机WinForms用户控件(参见here)

采用WPF(选项1)的问题是它需要您一次重写所有的UI,否则会看起来很精神分裂症.

第二种方法看起来可行但非常复杂.

第三种方法是我们选择的方法,它的工作非常好.它允许您有选择地刷新应用程序的区域,同时保持整体的一致性,而不是触摸未损坏的东西.

Visual C 2008功能包看起来很有趣,我没有玩过它.似乎这可能有助于您的过时的外观问题.如果“功能区”对您的用户来说太刺耳,您可以查看第三方MFC和/或WinForms控制供应商.

我的总体建议是,互相增量的变化绝对比扫荡的变化更好.

阅读后续行动后,我肯定可以肯定,该框架的生产力收益大大超过了学习的投资.我们团队中没有人在开始使用C#,现在我们都喜欢它.

猜你在找的C#相关文章