C++的界面庫(kù)經(jīng)過(guò)幾天來(lái)的搜索,總結(jié)了下面幾種的優(yōu)缺點(diǎn)
1. MFC
優(yōu)點(diǎn):VS2008以及VS2010的擴(kuò)展確實(shí)很強(qiáng)大,特別是原生的窗口運(yùn)行時(shí)停靠以及PropertyGrid確實(shí)很強(qiáng)大
缺點(diǎn):默認(rèn)字體很模糊,無(wú)論你對(duì)MFC多了解,C++多熟悉,每次寫(xiě)代碼時(shí)依然要重新熟悉代碼,更不用提分析別人寫(xiě)的MFC代碼,一個(gè)字:亂。
2. WTL
優(yōu)點(diǎn):Windows下有個(gè)最好的例子:Google Chrome
缺點(diǎn):缺乏設(shè)計(jì)器,文檔例子很少
3. wxWidgets
優(yōu)點(diǎn):虛幻3編輯器在用(不是廣告),wxAUI的布局設(shè)計(jì)器很方便,Windows原生界面很舒服,各種功能封裝都很到位。
缺點(diǎn):布局沒(méi)有類(lèi)似GTK+的Fixed絕對(duì)坐標(biāo)方式(Windows SDK默認(rèn)的左上角像素定位方式),在某些界面顯得設(shè)計(jì)麻煩。 動(dòng)態(tài)鏈接庫(kù)多的嚇人,工程過(guò)于臃腫。
4. Qt, GTK+
據(jù)說(shuō)Windows下不是很好用。
5. DirectUI
有很多個(gè)人封裝類(lèi)似功能的庫(kù)。界面,代碼分離, 但99%都是收費(fèi)
6. C# Windows Form
這是很好的選擇,語(yǔ)言方面可以用C++/CLI 免得轉(zhuǎn)換語(yǔ)言
自由停靠功能可以使用WeiFenLuo.winFormsUI.Docking 非常簡(jiǎn)單
7. WPF
有童鞋已經(jīng)使用MFC/C++通過(guò)加載XML顯示界面,不過(guò)通過(guò)資料顯示,WPF的控件很少,甚至連原生的PropertyGrid都沒(méi)有,設(shè)計(jì)器倒是很華麗
總結(jié):界面庫(kù)的選擇最重要的一點(diǎn)就是看有沒(méi)有很好的設(shè)計(jì)器,這個(gè)是高效開(kāi)發(fā)的重中之重。我尊重MFC,敬仰MFC,它作為C++的框架庫(kù)來(lái)說(shuō)很不錯(cuò),但是對(duì)于界面設(shè)計(jì)還是過(guò)老了。我們開(kāi)發(fā)的是產(chǎn)品,出的是程序,而不是研究MFC,怎樣用好MFC。