1

C++适合桌面开发?这个不见得,要看是什么系统了,如果是Windows系统,那么C#或Delphi可能更合适,如果考虑到性能和跨平台性,那么Qt等C++框架可能更合适,下面我分别简单介绍一下,感兴趣的朋友可以尝试一下:

01

C#

这应该是目前Windows平台下使用最广泛的编程语言了,在桌面软件开发中一直占据着非常重要的位置,尤其对于信息管理系统来说,可以说是非常合适,自带有图形用户设计界面,只需简单拖拽控件,编辑属性,就可快速开发一个GUI可视化界面,支持各种主流数据库开发,包括MySQL、Oracle、SQL Server等,如果你需要快速开发一个适合于Windows平台的桌面应用,那么C#无疑是首选:

02

Delphi

这是Windows平台下一个使用广泛的桌面应用程序开发工具,在早期的Windows桌面开发中,Delphi一直占据着主导地位,使用率和普及度非常高,相对于没有任何编程基础的开发人员来说,Delphi学习成本低,简单易学,容易上手,只需简单拖拽控件、设计属性,就可快速创建一个GUI程序,编译、开发、调试效率非常高,不过随着C#的兴起,Delphi的应用范围有些缩减,但对于桌面开发来说,也是一个利器:

03

Qt

这是一个免费、开源、跨平台的桌面应用程序开发框架,基于C++开发而来,在目前跨平台的桌面应用中,有着较为广泛的使用率(MFC就不提了,较为老的框架了,而且仅限于Widows平台),简单易学,容易上手,而且UI界面设计非常不错,可以基于CSS进行美化,如果你有一定的C++基础,考虑到跨平台性和性能,可以使用一下这个框架,非常不错,值得学习:

目前,就分享这么多吧,C++到底是否适合桌面软件开发,这个不好说,要考虑到实际平台和需求,而且对于大型桌面应用来说,可能不仅仅只是一种开发语言,网上也有相关资料和教程,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

最佳贡献者
2

为什么C++适合桌面开发?原因很简单,因为它运行高效啊。作为一名一线开发者,下面介绍下常用的C++开发过程中常用的界面库。


01 Qt

C++界面开发首选的UI库——QT,一套跨平台C++图形用户界面应用程序开发框架。既可以开发GUI程序,也可用于开发非GUI程序。文档齐全API设计优雅原生态跨平台支持,在国产化盛行的今天,相信Qt的市场也会越来越广阔。


Qt新版本提供的QSS可以让你像Web当中CSS那样优雅的写界面布局代码。下图是使用Qt内置的QSS绘制的一个界面换肤效果图,还是很绚丽的(PS:作品来源于CSDN,博主:一去丶二三里,如有侵权,请随时联系)。

02 MFC

坊间流传MFC=没饭吃,在十几年前就在叫嚣MFC要被彻底淘汰了,但是,时至今日,它还是没有淘汰,只能说是落幕了,需求越来越少,就连起亲爹微软都已经将MFC抛弃。

如果你处于学生时期,选择了C/C++方向,建议了解MFC思想即可,无需花费太多精力在这种老古董上面;

如果你已经工作了,很不幸维护工作内容是MFC相关的遗留老项目,那么只能建议你自求多福,下班时间多学习些其他知识,早日加薪跳槽吧。

03 以Duilib、BCG等为代表的第三方界面库

限于篇幅,这里重点谈下Duilib,一款Windows下免费开源的DirectUI界面库,由于简约易扩展的设计以及稳定高效的实现被各大互联网公司普遍接受,广泛应用于包括IM、视频客户端、股票行情软件、导航软件、手机辅助软件、安全软件等多个行业的众多pc客户端软件。比如大家每天都在用的「微信」、「盘古越狱工具」、「爱奇艺」等等。

下图是基于Duilib开发的一款仿迅雷播放器的界面效果。

唯一的缺点就是目前作者已经不再维护该项目了,或多或少会有一些坑在等着你,而各大公司在内部使用过程中都是维护其自己的特有 版本。


本文为作者“一个程序员的奋斗史”问答原创文章,未经允许转载、抄袭必究!

3

从事软件十几年简单的认为C++适合桌面软件开发不是很合适,C++就是一种编程语言而已,在当今主流的软件中适合桌面编程的有C#和Qt体系,早期的Delphi用的比较多,现在桌面软件的开发已经被微软的C#取代了。这是和编程生态发展态势决定的,因为微软主导操作系统,推出桌面软件开发生态也是顺理成章的事情,当然开源的QT还是受到很多开发者的喜爱,单纯的说一种编程语言是不是能够适合某方面的开发意义不是很大,里面包含着很多生态因素。

从事C++编程开发多年,今天就自己对C++这门编程语言的认知给大家做个简答的介绍,C++这门编程语言在实际应用的厂家如何,以及在未来编程序列中处于一个什么地位。

C++应用几个方向

客户端引擎框架的基础编程语言。C++因为其高效性还是很多开源框架首选编程语言,现在的安卓系统中间框架层就是C++和java共同完成的框架,现在安卓框架从性能角度考虑已经向着C++迈进了,从框架和以及性能上考虑C++还是最佳的选择,但是C++相对来讲入门还是有点困难,对于初学者来讲相对比较困难,直接学了C++找份合适的工作还是有点困难,但是这门编程语言还是很多架构师的最爱。主流的浏览器引擎chromium也是由C++编写完成的,可见在编程领域C++还是客户端打造引擎的首选编程语言。

端游开发。在讲求性能的游戏开发C++用的依然很多,在游戏开发团队基本上都有专门的性能优化团队,其中很大一块就是在优化C++标准调用库,因为游戏中对算法以及实时的响应哪怕是一点一滴的优化都会带来整体提升,而且优化游戏底层框架的程序员一般来讲工资待遇都会非常高,也不是一般程序员能干的活。

桌面软件开发。像Qt对于C++语法的依赖还是非常大,玩转Qt必须对C++的基本语法有深刻的了解,因为在函数调用过程中用的都是C++的语法,相当于需要具备Qt常见控件的使用方法加上C++必备语法才能玩转这块编程。微软的C#也是采用面向对象的编程方式,如果是理解了C++编程语言再去学习就会简单许多了,因为C#相当于集成了很多C++底层的功能,使用起来更加方便快捷。

底层性能模块。这块没有单独的行业限制,比如现在的人工智能入口语言用的是python,但在涉及到性能模块会用到C/C++,很多服务器后台处理模块也会用到C/C++编程,涉及到性能的模块底层实现离不开C/C++。

C++未来发展趋势

虽然现在很多人对C++繁杂的语法表示非常,但是性能和编程思想还是很多人编程老手的最爱,在很多领域还是首要选择,初学者第一次接触C++依然还会感觉无助,磨合的时间越长感觉起来越是亲密,就是这么一种编程语言,但从未来的趋势看虽然市场占比可能在下降但是在重要性并没有因此而下降,希望能帮到你。

4

QT 是c++界面编程的第一选择,还能windows、MacOS、Linux跨平台。

5

现在桌面开发C sharp更强大,比如wpf,c++不行了,只有端游还好一些

6

问题不准确。c++适合低层dll开发,算法库,硬件等,用来开发中等规模的桌面应用软件周期长,需要很精通的人。很少的公司会直接用c++开发桌面软件,除非有实力的大公司。现在一般的讲求开发效率,人员成本,维护成本等因素,用c#做界面比较好。

7

大家应该都知道面向对象编程(OOP)这个概念吧,这个概念就是当年为了描述图形界面的层次而设计出来的。显然,一个按钮属于一个控件,一个确定按钮则是一个按钮……由此就衍生成了继承、组合等概念。


所以如果一门语言适合桌面软件(图形界面)开发,那么它最好具备两个特性:第一个就是支持面向对象编程,也就是类、继承、对象等概念;第二个是一个比较好用的图形界面编程框架。


如果这么说的话,C++确实挺适合桌面软件开发的,因为他支持OOP,而且有Qt这么一个使用广泛、跨平台、高性能而且经受住了时间考验的老牌框架。但是,其实这样C++仍然不能说是最适合桌面软件开发的,因为它本身的语言特性比较复杂,很难保证用好。


如果你的软件只在Windows上使用,可以考虑使用C#语言和WPF框架,微软出品,而且C#语言简单易用,配合Visual Studio强大的编辑器功能,用起来十分舒畅。


如果你的程序不要求比较高的性能,可以使用现在很火的Electron,利用网页技术开发程序,由于它是基于Web技术的,现在各种网页制作技术可以直接拿过来用。而Visual Studio Code等一大批基于Electron的程序的出现,已经证明了Electron是完全可行的。

8

面向个人的windsows桌面软件大部分都是c,c++,qt这几种语言写的, QQ,360等都是c和c++写成

类似c#等jit大部分适用于写企业内部软件或者非通用型软件

c,c++写桌面应用技术要求相对比较高 因为UI库较少

9

根据软件需求,运行环境,人才与技术储备,时限,已有代码重用,预算与成本等因素选择哪种开发语音。有时同时使用几种语言编程,弥补单一编程语言不足。另外,速度,真伪编译,混淆,加壳等因素也影响到编程语言的选择。

10

严格意义上的C++不太适合用户界面的应用开发开发,后台和服务端,中间件用的比较多,C++用于后端的开发主要考虑的是速度!但由于语言特性,对开发者功底要求比较高!不像高级语言那么智能!功底不好做不出稳定的东西。崩溃,内存溢出是常有的事,对界面......天生就不是强项。MFC已经是很古老的东西了!虽然开发界面也方便,但想做华丽很难,应该不会有人用mfc来做用户界面,除非工业领域,不追求美化。

Delphi、C#、Qt是做界面程序的首选!没有最好,只有最顺手和最习惯。虽然Qt宣称是C++,但还是有很大区别的!Qt有它自己的语言特点和高级变量,和它自己的库。有它自己的信号槽方式!

win桌面程序也有很多种类,有数据操控类型的(数据库)有硬件交互类型的,有图形图像处理类型的,按需选择吧!没有最好,只有最合适。

你的回答

单击“发布您的答案”,即表示您同意我们的服务条款