2010年11月11日 星期四

WTL---WxWidget---MFC 何去何從

WTL---WxWidget---MFC 何去何從
C++程序員打交道最多的就是MFC了,這個我不想多說,說來都是淚(C#年年更新,C++十年才出了一個featurePack還不是很好用)

現在另外兩支隊伍越來越龐大(所謂窮則思變,呵呵),一是WTL,關於它的種種傳說可以參考WTL中文教程,裡面講的很詳細,這裡我想說的是為什麼使用WTL:
傳 說WTL是微軟內部所使用的界面框架程序,原因是高效,簡潔,實際也是如此,WTL的程序內的內存佔用比MFC小的多,而且WTL內建了對於可縮放對話框 的支持(支持控件停靠哦),對於多文檔以及視類的支持更是MFC望塵莫及的,但是WTL也有其自身的缺點,比如開發文檔少,尤其是中文的,嚮導不夠聰明 (誰用誰知道,呵呵),換句話說,用WTL就意味著多敲一些代碼,不過這個可以有一些第三方工具緩解(還是那句話,窮則思變),如WTL helper,還有國產的WTL helper,還有國產的VFC,兩者都是開源軟件,放心使用,建議有意開發WTL的程序員先打好基本功,因為這個基於ATL的這個鐵娘子不是誰都可以駕馭的哦,如果對程序大小要求不是太苛刻的話,還是拿MFC將就吧

其二就是我最近很感興趣的WxWidget, 這款框架最大的優勢就是真正意義上的跨平台,其注意真正兩個字,因為在我看來所謂的java跨平台不過是幌子,有種連JVM也跨平台試試(JAVA擁護者 別拍我哦,其實JAVA還是在OO領域很強大的),那真正二字就是因為,WxWidget提供了在本機源碼級的跨平台,從此你在讓客戶使用你軟件的時候不 必再說:「你必須給我安裝×××虛擬機或×××Framwork」,在一個平台下編譯的代碼,不用做任何更改,在另一個平台下就可以編譯通過並且發佈,這 豈不美哉,而且WxWidget所使用的界面元素幾乎都取自本地計算機,就是說你的見面客氣來很有親和力,最終發佈的二進制代碼文件愛你無論是靜態還是動 態鏈接都要比GTK之流小很多(見圖表)。有興趣一試的可以看看WxWidget開發環境配置



說了這麼多,總結如下,三種平台各有所長,如果你是windows程序員,那麼WxWidget對你而言沒有多大意義,如果你剛開始接觸C++,那WTL這個高品位新娘也許會讓你忙的團團轉,呵呵,大家自己斟酌吧
posted on 2008-12-21 22:13 pear_li 閱讀(3381) 評論(22)  編輯 收藏 引用 所屬分類: C++


評論


# re: WTL---WxWidget---MFC 何去何從 2008-12-22 09:14 路人丁

樓主還搞不清VC++和C++?
「C++程序員打交道最多的就是MFC了……C++十年才出了一個featurePack還不是很好用」應該改為「VC++程序員打交道最多的就是MFC了……VC++十年才出了一個featurePack還不是很好用」
  回覆  更多評論    

# re: WTL---WxWidget---MFC 何去何從 2008-12-22 09:21 路人乙

和路人丁有同感,樓主說的只是VC或MFC這範圍的C++程序員,
我個人感覺做得比較好的C++庫,是QT、ACE。
QT與wxWidget等四類GUI庫作過比較,贏得過最佳設計與最具表達力的稱號。

# re: WTL---WxWidget---MFC 何去何從[未登錄] 2008-12-22 10:30 momor

QT固然好,除非你做開源,不然你沒看過QTwindow上開發的商業授權費用是多少。另外大家也不要過於對字眼上太過敏感,畢竟我們是程序員不是搞文字工作的,基本從事windows平台的程序員比較多,當然MFC這種現成的東西接觸自然比較多了。
我最近也在弄wxWidgets的東西^^

沒有留言:

張貼留言