是否从MFC切换到推荐用于Windows CE开发的QT或WTL(或其他GUI工具包)?

Ale*_*Che 7 c++ embedded user-interface windows-ce

关于Windows的C++ GUI工具包有很多问题,但它们主要适用于桌面操作系统版本.

我现在正在为Windows CE 5.0 VGA手持设备启动一个C++项目,并考虑选择哪个GUI库.我有一些在Windows CE项目中使用MFC的经验,但是在SO中提到的MFC存在一些已知的弱点(例如,使用了过时的技术,糟糕的抽象,过度使用C++预处理器等).对于桌面项目,他们主要推荐QT和WTL.同时,MFC具有一些对于嵌入式开发仍然可观的特性.

那么,您如何看待,花一些资源学习新的GUI工具包从MFC切换是否合理,在这种情况下您会推荐哪种工具包?或者MFC仍然是Windows CE嵌入式开发中最重要的?

工具包最重要的特征是:适中的CPU和内存负载,小的运行时大小,良好的面向对象设计,符合良好的现代C++实践,陡峭的学习曲线,开发速度,商业外观,便捷的调试和设计工具.

(项目需要什么:串口通信,线程,图表和图表绘制,ActiveSync通信.)

cyb*_*vnm 8

在完成阶段我们在Windows CE 5.0项目上有Qt 4.5,所以我试着说明与MFC相比Qt开发的优缺点.
Qt加号:

  • 漂亮的OOP设计
  • 本机支持的信号/插槽抽象允许更快速和更容易地开发
  • Qt支持许多各种功能(GUI,文件系统,网络,线程等)
  • LGPL许可证允许免费开发商业应用程序
  • 开源代码,示例,优秀的文档使得学习曲线变得更多,更有步骤
  • 多平台库.我们能够毫无困难地使用Vista OS在设备和桌面上运行我们的应用程序.在4.6版本中添加了Symbian支持

Qt弊端:

  • 相当大的二进制文件(Core和Gui模块大于10 Mb,所有功能都在"on"上,但是您可以调整库构建并使库更小)
  • 与MFC相比,大内存和CPU使用率

我认为,与Qt相比,MFC的主要优势在于它的最小内存和CPU占用空间.如果这不是问题 - 选择Qt.
PS Com端口通信和绘图绘图本身不包含在Qt中,但存在基于LGPL Qt的库,它们为您提供了这样的功能(例如用于绘图的"Qwt").