我想开发一个windows应用程序。如果我使用原生C++和MFC作为用户界面,那么应用程序将会非常快并且很小。但是使用MFC是非常复杂的。此外,如果我使用C#,那么应用程序将比本机代码慢,并且它需要.NET框架才能运行。但是使用WinForm开发图形用户界面是非常简单的。你喜欢哪一种?
发布于 2008-11-07 20:07:28
“快”和“慢”是主观的,特别是在今天的PC上。我不是说故意让它变慢,但在编写托管应用程序时几乎没有你想象的那么多开销。JIT等工作得很好,可以让代码执行得非常快。如果你真的需要的话,你也可以使用NGEN来获得额外的启动速度。
实际上,如果你有时间学习,你可能会考虑WPF而不是winform -这是一个不同的技能集,但可以让你很好地利用图形硬件等。
而且- .NET框架随新安装的操作系统一起提供,并且在之前的版本中仍然很常见。所以对我来说,用C#/.NET开发是一个相当明确的选择,开发一个健壮且经过充分测试的C++应用程序(没有泄漏等)的时间(至少对我来说)比用C#开发要长得多。
发布于 2008-11-07 20:07:45
注意不要优化得太早;您提到了代码的速度,但对于大多数Windows用户界面操作,差异并不明显,因为绘图和磁盘访问的主要瓶颈对于这两种方法都没有什么不同。
我的建议是在用户界面中使用C#和WPF或WinForms。如果您遇到一些速度减慢的问题,请使用分析器来确定位置,然后考虑用本机代码替换一些业务逻辑,但前提是这样做有好处。
发布于 2008-11-07 20:09:53
有许多可能的Windows应用程序,每个应用程序都有自己的要求。
如果您的应用程序需要快速(我所从事的工作也是如此),那么原生C++是一个很好的选择。
如果您的应用程序需要很小(可能是为了在慢速线路上进行真正快速的传输),那么使用任何可以使其变小的应用程序。
如果您的应用程序可能会被大量下载,那么您可能希望对较新版本的.NET保持警惕,因为您的用户可能还没有这些版本。
如果像大多数一样,在可能使用它的系统上,它将足够快和足够小,请使用允许您开发最快和最好的东西。
在几乎所有的情况下,需要优化的是开发人员的努力。使用任何能让高质量的工作最快、最好地完成的东西。
https://stackoverflow.com/questions/273451
复制相似问题