標籤:

很多人說MFC落伍了,那有什麼可以代替MFC?


這種問題居然不列項目需求?脫離用途來談替代品就是耍流氓啊,你平時搬個凳子可以取代梯子就覺得消防車上的梯子也可以用凳子取代么?沒錯不是每個人都是消防員,絕大部分人都會去別的職業,而且新的職業不斷出現,但是消防這需求也確實存在啊?


https://github.com/vczh-libraries/Release 拯救你


我以為你們在說My Free Cameras……


謝邀,

主要看使用場景,限定C++的話,

1. 如果還是專業類行業軟體,不要求界面花哨的,用MFC也可以。

2. 共享軟體,以前網路要求尺寸小,Qt/DirectUI/MFC都不合適,可以用WTL簡單搞搞。

3. 如果是通用類軟體,要求界面漂亮,DirectUI是個好選擇。

4. 如果是跨平台需求,Qt是個好東西。


從微軟這幾年的發展看,mfc確實江河日下,從一個重量級開發工具逐漸變成昨日黃花.但是這樣就斷定mfc不應該學,或者沒有前途是不對的.從微軟技術路線上看,目前走向手機,平板,pc同構. .net和xaml,包括其它跨平台技術,比如angular js,被微軟放在很重要的地位.這個也是微軟適應時代的發展不得不做調整.

但mfc作為native開發是需要長期存在的,只要windows存在的一天,windows native始終是離不開的一種開發方向.一些比較追求速度,效率資源的開發領域,比如:圖形圖像編輯類軟體,一些視頻監控,工控類,做這些事情本身就沒有更好的選擇,走native開發路線是必須的.

什麼時候才能說mfc會壽終正寢呢 ?如果有一天win32不被支持,com,com+等被微軟淘汰.native領域有個更好的選擇,mfc才會真正的結束生命周期.

如果是新手的話,新手可以 學習些更新的,流行的技術,以便於找到工作崗位.


每次看到這種問題,我都在想他說的難道是MyFreeCams?


QT


其實我覺得這問題還是在於:用C/C++來寫桌面程序的UI已經過時了。

其實很多年前,bs(browser+server)和cs(client+server)是爭得很激烈的,但是這幾年,bs已經是毫無爭議的主流了。

除此之外,純單機版的程序(遊戲除外)也已經很沒落了,多少年都沒看到有新的大型的流行的純單機版應用了。


我覺得迅雷的Bolt不錯


DirectUI啊,現在常用軟體360之類的都是這種。金山有開源的代碼。


QT


幫你加個需求吧: 跳槽方便。轉平台方便。


開源就duilib,微信桌面客戶端就是用這個,跨平台就qt


萬萬沒想到輪子哥還會答這種題!

點進來一看,

原來說的不是微生物燃料電池啊 microbial fuel cell

..(??ˇ?ˇ??) …


用 java 寫吧,雖然我不會,感覺之前同事用來做 UI 很方便


不是WPF嗎?


反正我挺喜歡C#的。


其實我並不覺得 MFC 是過時或者落伍的。它依然健在,且可以拿來使用。

不過,你可以有一個選擇,那就是不用 MFC。當然,這樣就屬於直接對接 win32 API 的開發流派,開發成本也很高。

還有一個叫做 WTL 的,但是我覺得 WTL 並沒能流行開,因此未曾佔據主流。

總而言之,我不認為存在一個「萬能葯」來解決這個問題:一個最終學習目標,學習了它可以適用於所有時代和所有場景。

你可能和不同的人打交道,不同的人具有不同的選擇。

--

2015年12月23日0:15

此外補充下,MFC 並不是一個專用於 UI 的類庫。

而是 windows 編程類庫,主要是對 windows api 進行 c++ 封裝。

當然也有一些 UI 相關的類(比如說 CSplitterWnd)。但基本上沒有和定製 UI 外觀相關的功能。

MFC 主要用於 windows 編程,bs 架構出現以後,就把 windows 編程中大量的 windows 程序稱為 cs 架構(不管他們是不是網路程序,有沒有 server)。


推薦閱讀:

對於一個初學者,MFC和Qt哪個好下手?
MFC為什麼難用,框架的敗筆是?
DirectUI與GUI框架有什麼區別,如MFC,QT,wxWidgets的區別是什麼?
電腦桌面背景可以總是前置嗎?

TAG:MFC |