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),全平臺開發。

個人理解。


分享到:


相關文章: