做windows桌面应用当然是c。 c是。net框架下主力语言,与windows系统的集成度很高,win7,win8,win10都自带。net框架,根本就不需要什么依赖,c语言目前已经更新到8。0版本,采用vs来开发桌面程序简直太完美,不管是winform还是wpf这两个都是一二十年很成熟的桌面程序框架,拖拖控件就能开发,效率高。wpf自定义程度高,可以设计出精美的ui界面来,一点不输web界面,而且还有配套的bland设计器来辅助做ui界面。 目前winform,wpf这两个桌面框架都已经支出。netcore,这是一个新出的垮平台框架,所以我觉得做桌面开发c是首选。 以上我的看法,大家有什么想法也可以一起讨论。 我是从MFC做二维图形CAD起步的。后来C。回到你的问题,具体看做什么类型的应用,还有就是你能把握的技术栈是什么。简单的图形界面,C最快,开发成本最低,其实我也用C做过图形图像应用程序,优化一下,性能也马马虎虎。如果追求性能,MFC肯定是首选,缺点就是代码量巨大。再说QT,QT是个万金油,提供了不少方便的类库,还跨平台。如果做三维应用,首选推荐QT。 总之用什么工具还是综合评估,技术人员能力构成,应用场景,开发成本等。举个例子的话,Windows上工控,管理软件,C不犹豫。追求图形性能,计算性能,网络性能,C。三维,跨平台,QT。为什么最后推荐qt,不是因为qt不好,是玩qt的人比较少。 选择MFC、Qt还是C开发界面,主要取决于你的技术栈,如果你对界面要求高,追求快速开发,但是对程序性能要求一般,可以试试C。 如果对程序性能要求较高,且有一定的C基础,可以考虑QT或其他C界面库,比如Duilib这样的第三方库。下面简单介绍下C界面开发过程中常用库。1、QT 跨平台图形用户界面应用程序开发框架,C开发首选界面库,除了界面之外,还封装了一整套多线程、数据库访问、图像处理、音频视频处理、网络通信、文件操作等常用框架。官方文档齐全、API设计优雅、跨平台支持、对新手友好。 新版本的QT提供的QSS技术,可以让我们在客户端开发过程中享受Web开发中CSS绘制界面的便利,例如下图是使用QT提供的QSS技术绘制的客户端UI界面换肤图(图片来源:CSDN博主一去、二三里)!2、第三方界面库(以Duilib为例) 这里以Duilib为例(当然C还有很多其他优秀的界面库,比如BCG)。 Duilib采用XML来描述界面风格和布局,将界面和逻辑分离,尽量减少在代码中创建UI控件。可让开发人员快速开发出美观的界面效果图,是一款开源的directUI界面库。目前很多的互联网PC端软件都是使用Duilib开发而来,比如:钉钉、PP助手、微信、网易云信、TeamTalk、盘古越狱工具等。 下图是使用Duilib开发的模仿迅雷播放器开发的一款效果图。 唯一的缺点就是文档太少,duilib最初的开发人员目前也已经不在维护了,个人在使用过程中可能会遭遇各种坑,而各大公司都是在维护自己内部使用的duilib。3、MFC 早在很多年前,业界就流传MFC已经被淘汰了,MFC没饭吃,可是直到2020年的今天,这家伙居然还没有灭绝,甚至在招聘网站上也依稀可见MFC的岗位需求。但是不得不承认,但是不得不承认,它的学习成本实在太高了,如果想实现一些特效,难度还是比较大的。如果你的需求对界面要求不高,或者是做一些自用的小工具,选择MFC还是很不错的,其他情况下,不建议选择它。 其实,桌面开发,选择Electron(一个使用JavaScript,HTML和CSS等Web技术创建原生程序的框架)也是一个很好的选择。 DelphiCBuilder做人机界面最好。 小型数据库就用Firebird。 图形图像处理实际上都是调用WindowsAPI实现。 三维图形用OpenGL编程。 没有说那个更好,只能说更合适吧! 首先,个人觉得QT比较适合做桌面应用程序开发,像一些大型杀毒软件基本都是QT开发的,比如:360安全卫士,360杀毒,金山毒霸等等! 其次,当然C也是可以做的,MFC就太老了基本很少用了,许多界面开发都得自绘,现成的类或者JDK比较少,所以用的人比较少,当然在医疗类软件用的多些,比如:多参数医疗监控等,QT开发是用的C,不管从性能还是效率都比较高的,而且QT实现了界面开发跟业务处理逻辑是分开的,能开发出非常漂亮的桌面程序! 最后,说一下QT开发的优势所在之处,1、QT开发具有跨平台性 这样开发出来的应用程序就可以在多端运行了,避免重复轮胎的情况,比如:windows平台,Linux平台,Mac平台等 2、QT本身具有非常好的处理机制,让界面编程变得更加组件化 QT的类库非常丰富,有成千上万的API使用非常方便。个人观点仅供参考,欢迎指正!〔耶〕 qt好些吧,C涉及微软。net体积巨大。qt就几个dll,打个安装包都容易些。还有就是qt跨平台,小到ARM版,大到Windows,linux电脑都可以跑。MFC微软自己都不玩了,难用,bug多。 其实提问的人把顺序都排好了,反过来就是在win下开发选择的顺序。 mfc比较古老,基本只是winapi的一层很薄封装,用起来挺累的。除非是维护古老的mfc程序,比如你维护腾讯的qq,用mfc应当几乎是必须的,其他情况并不推荐。 qt方案是个重量级选择,因为qt很庞大,几乎覆盖了桌面所有领域,ui只是其中一个小部分。但qtui组件并不是属于原生方案,类似现在的flutter的方式,那些控件几乎都是自己渲染出来的,模仿了特定平台风格罢了。快速建模和概念演示用qt的qml很不错,另外qt用于商业领域并不是免费的,做产品需要还是考虑一下它的重量和价钱。 c的winforms是ms的原生UI方案。根红苗正并且易用轻量,没有跨平台需求和不想折腾的话,用来做win桌面程序是最轻松和放心的方案。 值得一提就是如果应用中有很多需要展示web页面,或者嵌入了页面而不需要原生UI,用nodejs的方案会更方便,vscode用的就是electron,它其实就是内嵌了一个chrome浏览器,引出了一套jsapi罢了。而微信的电脑版用的是和electron类似的框架叫nwjs。 大部分跨平台方案因为都不是原生UI,体验上多少会差一些,比如操作不方便,压力大时反应慢,吃内存,包巨大等等 就我个人来说,大部分时间都在mac下工作,即使偶尔开发win桌面小应用,一般也是用mingw编译成exedll,在Mac上用wine做业务逻辑测试。我选了wxwidgets做UI,它是原生方案,支持多个os平台,完全免费,支持各种脚本绑定,最关键比较轻量,整个UI包不到10M搞定。 展示一下最近做的一个windows下鼠标键盘操作记录截屏数据的编辑器,用于生成自动操作文档和自动化录入工具,在macm1下开发,x86windows下运行,用wxwidgets做UI。 推荐使用QT,因为QT开发效率挺高,里面控件有布局容器很好用,虽使用C语言,但是里面的库让你不用太操心new出来的对象还要关注释放,信号和槽让你自由的爽感。MFC就太老了,到处是宏,效率也低。C的话开发效率是高,但运行效率低点,控件也不漂亮,还容易被反编译出代码。 首先我想说的是不管是mfc、qt、c这个需要根据技术、性能、开发周期、开发成本决定的。 1。mfc语言出来的时间比较早,界面开发需要用代码自绘来实现,对开发者技术开发功底要求比较高,开发周期长,性能比较高; 2。qt开发用的是c语言,我们知道一些杀毒软件360系列就是用qt开发的,性能比较高,开发周期开发成本介于mfc和c之间,而且可以跨平台; 3。c语言可以开发winform和wpf桌面程序,他们可以用设计器进行界面的布局和设计,开发周期和开发成本较低,性能没有mfc和qt高,对开发者技术要求没有前两者高。 最后我想说的不管选哪种开发语言都是基于你的项目需求,团队人员的技术,以及开发成本和开发周期决定的。 如果对性能要求很高可以使用mfc和qt,如果对现代化页面展示要求高,又希望快速开发可以使用wpf或winform,也就是使用c。