软件工程师!
分类: C/C++
2010-06-01 14:18:28
翻译:忙碌命
blog: http://blog.csdn.net/laiboy
blog:http://laiboy.cublog.cn
原文(Why is MFC Not Dead?)
链接http://blog.stevienova.com/2008/04/12/why-is-mfc-not-dead/
这天早晨我仔细读了一些博客文章,从我的MSDN的回复中偶然读到这一篇 MFC is not dead的文章。
(http://blogs.msdn.com/b/cellfish/archive/2008/04/12/mfc-is-not-dead.aspx)。
这是我的回复(我本想写下一些评论意见,但是却没有写下来,但是无论我都认为这是一篇非常优秀的博客文章)。
到现在为止,你仍可以编写MFC的应用程序,并且可以运行在Win98,Win2K,WinXP,Win Visita等操作系统上,没有任何的限制。然而你利用Dot-Net编写的应用程序则需要Dot-Net Framework,如果你想你的应用程序只是被下载就可以运行的了,Dot-Net framework的限制就让你难受了。为什么你要别人下载并安装20+MB的Dot-Net Framework呢?
我期望有一种选择可以无需安装整个Dot-Net Framework就可以部署我的Dot-Net的应用程序,或者只是我的应用程序所需要的一些程序集。
正如我所说的那样,让应用程序尽可能运行在多种客户端上(Windows平台),真正合适开发的是MFC,而不是Dot-Net。
我确想连微软也不搞清楚为什么人们使用MFC而不使用Dot-Net的原因,即使在Web应用程序的开发上。所以到了最后,MSFT(指微软)就在他们的客户端应用上都使用了Dot-Net进行开发(WLW,SSMS,Zune等等此类客户端)。
一但所有的应用程序被微软用Dot-Net的一些形式进行开发的,并且Windows 98,Windows 2000,和Windows XP也已经消失得差不多了(也可以说这些操作系统只占很小的一部分,微软根本不需要考虑,假设为小于1%吧),这时我们确实可以利用Dot-Net开发客户端应用程序了(但是必须要基于Vista的Dot-Net的版本开发,因为这个版本是最低的与操作系统一起发布的Dot-Net版本)。又或者,MSFT(微软)可能会将Dot-Net作为XP的重要更新,使没有安装Dot-Net的操作系统的数量减少,迫使他们大量使用Dot-Net的客户端应用程序,从而获得更大的市场份额......
随便什么理由都好,使用MFC开发的人总的有的,MFC使用灵活当然不是充分理由。一个最简单的例子就是,用Dot-Net开发的时候,我可以创建一个带有祝贺消息,还有系统托盘,连接FTP,处理Web服务,和一大堆功能的应用程序,用不了多少时间,很少的代码就可以完成了。然而用MFC,完成这些功能,要耗费大量精力,数千行的代码,甚至要一些“奇技淫巧”的手段。是的,是能完成,但是不是一件易事。
另一个理由就是,假如你的程序是足够好用,大家会下载,在安装的时候他们没有安装Dot-Net Frameowrk的,也会因为你的程序甘心下载安装Dot-Net Framework,我想这是一个最好的使用Dot-Net的理由(Windows 98就不走运了,它不能安装Dot-Net)。我想这一个理由是使用Dot-Net的最好的原因。假如人们想要这个程序,这肯定是一个超级棒的程序,人们为了让这个程序运行起来,啥软件都会安装。
总之,我只是瞎说......可能为了另外100个回复段落会继续谈论这个话题:)