用C++做windows桌面应用程序一定要用MFC吗?

用C++做windows桌面应用程序一定要用MFC吗?,第1张

用API 也可以。

如果要用复杂的图形界面,用许多“控制”(按钮,滑块,Edit, 树,色彩选择)那么用MFC比较方便,可以节省自己很大的工作量。

MFC函数很多,用到哪,可以查到哪,不用的不去管它。东西太多,不要学了再用,而是边用边学,用哪学哪,不用的不学。

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。

微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。

Windows软件开发,不仅有C/C++、还有Java、C#,甚至JavaScript也加入了桌面应用开发的阵营......

C++方向

作为一名主业为C++的开发工程师,当然是首推C++了,用它来写Windows软件,还是很香的,这里重点推荐两个界面库。

Qt

这个也是C++界面开发首推的UI库,是一套跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序。文档齐全,API设计优雅,原生态跨平台支持,在国产化盛行的今天,相信Qt的市场也会越来越广阔。Qt新版本提供的QSS可以让你像Web当中CSS那样优雅的写界面布局代码。

下图是使用Qt内置的QSS绘制的一个界面换肤效果图,还是很绚丽的(PS:作品来源于CSDN,博主:一去丶二三里,如有侵权,请随时联系)。

MFC

虽然业界流传MFC=没饭吃、MFC要淘汰了......但是这么多年过去了,这玩意还是没有淘汰,只能说是落幕了,需求越来越少(然鹅,并没有绝迹)。

如果题主的需求是做一些自用的小工具,如果界面要求不是很高的话,那么选用基于MFC的Dialog对话框模式还是很方便的。无论是自用或者是他用,简单的将静态编译完成的exe发送给其他人就可使用,不用过多的依赖库。

温馨提示:

如果是选择就业方向的话,不建议选择MFC。

C#方向

微软主推的编程语言,与宇宙第一IDEVisualStudio配合的天衣无缝,通过简单的拖拽即可完成界面元素的布局。仿Java而生,目的就是取代Java,然而其结果是显而易见的,PC端程序开发已经落幕,在Web端,C#似乎跟Java不在一个重量级上。

考虑到微软的技术更新换代实在太快了,比如WinForm和WPF被全面移植到.NETCore。在这5G时代、人工智能、大数据各种浪潮的年代,实在没有必要再去追逐微软了。

JavaScript方向

考虑到题主的语言技术栈,主要偏向Web方向,开发Windows软件的话,隆重推荐下Electron。可以让你使用纯JavaScript调用丰富的原生( *** 作系统)APIs来创造桌面应用,大名鼎鼎的VSCode、Atom就是使用该开源库来完成的。让人们感觉JS真的有一统天下的趋势(Web、移动端、PC客户端)。

至于Java、PyQt之流,这里就不再推荐了。毕竟Python的设计初衷就不是让你来写Windows客户端开发的,而Java,重心也早已转移到Web端和移动端了,JavaSE开发的客户端程序已经很少见了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12023077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存