C++程序員打交道最多的就是MFC了,這個(gè)我不想多說,說來都是淚(C#年年更新,C++十年才出了一個(gè)featurePack還不是很好用)
現(xiàn)在另外兩支隊(duì)伍越來越龐大(所謂窮則思變,呵呵),一是WTL,關(guān)于它的種種傳說可以參考WTL中文教程,里面講的很詳細(xì),這里我想說的是為什么使用WTL:
傳說WTL是微軟內(nèi)部所使用的界面框架程序,原因是高效,簡潔,實(shí)際也是如此,WTL的程序內(nèi)的內(nèi)存占用比MFC小的多,而且WTL內(nèi)建了對于可縮放對話框的支持(支持控件??颗叮?,對于多文檔以及視類的支持更是MFC望塵莫及的,但是WTL也有其自身的缺點(diǎn),比如開發(fā)文檔少,尤其是中文的,向?qū)Р粔蚵斆鳎ㄕl用誰知道,呵呵),換句話說,用WTL就意味著多敲一些代碼,不過這個(gè)可以有一些第三方工具緩解(還是那句話,窮則思變),如WTL helper,還有國產(chǎn)的WTL helper,還有國產(chǎn)的VFC,兩者都是開源軟件,放心使用,建議有意開發(fā)WTL的程序員先打好基本功,因?yàn)檫@個(gè)基于ATL的這個(gè)鐵娘子不是誰都可以駕馭的哦,如果對程序大小要求不是太苛刻的話,還是拿MFC將就吧
其二就是我最近很感興趣的WxWidget, 這款框架最大的優(yōu)勢就是真正意義上的跨平臺,其注意真正兩個(gè)字,因?yàn)樵谖铱磥硭^的java跨平臺不過是幌子,有種連JVM也跨平臺試試(JAVA擁護(hù)者別拍我哦,其實(shí)JAVA還是在OO領(lǐng)域很強(qiáng)大的),那真正二字就是因?yàn)?,WxWidget提供了在本機(jī)源碼級的跨平臺,從此你在讓客戶使用你軟件的時(shí)候不必再說:“你必須給我安裝×××虛擬機(jī)或×××Framwork”,在一個(gè)平臺下編譯的代碼,不用做任何更改,在另一個(gè)平臺下就可以編譯通過并且發(fā)布,這豈不美哉,而且WxWidget所使用的界面元素幾乎都取自本地計(jì)算機(jī),就是說你的見面客氣來很有親和力,最終發(fā)布的二進(jìn)制代碼文件愛你無論是靜態(tài)還是動(dòng)態(tài)鏈接都要比GTK之流小很多(見圖表)。有興趣一試的可以看看WxWidget開發(fā)環(huán)境配置

說了這么多,總結(jié)如下,三種平臺各有所長,如果你是windows程序員,那么WxWidget對你而言沒有多大意義,如果你剛開始接觸C++,那WTL這個(gè)高品位新娘也許會讓你忙的團(tuán)團(tuán)轉(zhuǎn),呵呵,大家自己斟酌吧