C++ 是否适合做GUI?

哉避zJC47336

答案是不适合。C++可以做GUI,比如使用MFC框架,用过的人都会理解它有多么难用,再者就是Qt,Qt比起MFC要稍微好一点,但对于开发者来说还是有些难度的。C++更适合后端软件及算法的开发。下面就介绍几种轻量级适合GUI开发的技术。

  1. C#。C#是微软推出的一门基于.net平台的语言,它吸收了Java、c++等语言的优点开发而来。使用C#开发GUI十分简单,语言也通俗易懂,同时支持PC和移动端(安卓和IOS)。在实际开发中,很多程序员的具体做法是界面GUI部分使用C#实现,后台算法部分使用C++。这样同时兼顾了UI和程序的性能。
  2. Web技术。这一类开发技术是目前看来最先进的,像有道云词典这样的软件就是最好的例子。其GUI部分使用HTML5等web技术快速实现界面搭建以及网络通信部分,使用C++完成后台逻辑及算法实现,程序既美观又跑得快,可谓一举两得。
  3. 直接使用G语言进行编程。最有名的G语言莫过于Labview,Labview可以说就是为GUI而生的一门语言。使用它进行程序开发,全程不需要一行代码,全部使用GUI实现,是不是很心动。但是,我要告诉你的是东西虽好,但价格可不便宜,Labview一套软件下来动辄就是好几万,对于那些不差钱的公司及科研机构是最好的选择。因为Labview能让你把注意力集中在程序设计本身上来,而不用去过多关注所谓的编程技巧。此外,Labview自带了很丰富的库,可以让你轻松完成多媒体,及信号处理程序的开发。
欢迎大家在下方留言,讨论更多好玩的GUI技术。

太科罗技

C++是门非常强大的编程语言,应用非常广范。飞机火箭的控制系统、证券期货等交易所的交易系统、操作系统的核心、PC游戏等,用C++开发的大型项目数不胜数。对于C++是否适合开发GUI程序,我的答案是“否”。

作为C++GUI库的主流,从微软第一个MFC发布版本,到现在已经20多个年头,虽然它依旧在很多公司发光发热,但大多都是维护项目,或者一些对性能要求很高但对界面要求不高的项目,才会使用MFC来做。微软自从发布.Net之后,就彻底把MFC抛弃了。

作为C++GUI的另一个代表,Qt,因为能保证性能和跨平台的特性,倒是有很多在型项目使用它来开发。但是太过于庞大的学习成本、开发成本和过低的开发效率,使很多人望而却步。另外它自身还经常出现一些Bug,让人花了很长时间调试后才发现不是自己的问题。

除此,还有一些基于Directui的界面库,如duilib、xcgui、muilib、SonicUI、UIPower、bolt 、libuiDK等,但这些界面库要么是私人开发,没人维护,缺少相关的教程和指导,要么是公司内部项目,不适合做通用界面程序开发。

C++不适合做界面程序开发的原因有很多,开发效率是主要的,另外还有界面的呈现效果。

比起web、wpf等技术做出的界面,C++界面程序很少有能实现动画、特效的。想实现一个炫酷的界面要费很大劲。所以,能与C++结合来开发GUI程序的倒是好的选择,如Electron,上层界面用web来写,底层调用C++开发的dll动态库,既能保证炫酷的界面,又能保证优越的性能。


科技风云会

C++

嵌入式软件现在有些应用还是使用C++开发GUI,C++做应用开发有点是响应速度快,性能高,在很多低端板子上运行的很流畅。C++做应用主要是调用一些封装的控件,这些C++封装的控件因为一般都是内部项目调用,所以问题多多,开发起来比较费力。而且C++底层一般使用OpenGL开发界面,展示效果一般般。



HTML

现在主流是使用web来做GUI设计,HTML界面丰富,开发效率高,更有很多优秀的前端框架,angular,react,vue js 框架,有很多动画,效果丰富,很炫酷。缺点是如果运行在嵌入式低端板子上性能是个问题,不是很流畅,但是随着云端的发展,这个问题会慢慢得到解决。



总结

综上所述,C++确实不适合开发GUI,web开发GUI是大趋势,这也是前端开发现在越来越火的原因之一。


电视鹏

不适合,但是可以,如qt框架,但其优势在于嵌入式。

个人认为比较好的GUI开发语言是JavaScript(结合html css),全平台开发。

个人理解。


分享到:


相關文章: