Windows 下桌面應用開發有哪些主流技術?


認同@方小華 老師的回答

只是補充一點

在微軟技術方面,主流的應該是Windows Form

而WPF做出來的效果很酷,多用來做娛樂性軟體的界面

MFC和WTL有點夕陽西下的感覺,很少有新項目採用,大多是維護已有的項目

而DirectX主要是針對3D了,例如遊戲,模擬(工業設計中用到的各種模擬模擬)


WPF, Windows Forms, GacUI


如果不需要支持XP的話,直接用WinForm / WPF就行了。

Win Vista自帶 .net 3

Win 7 自帶 .net 3.5

Win 8 自帶 .net 4 / 4.5

Win10 自帶 .net 4 / 4.5


早期首選VB,Delphi或者MFC開發界面,雖然也有用Foxpro、PowerBuilder,但現在基本都沒了。

現在比較多的是 微軟技術 --&> .NET Window From,WPF,MFC,WTL,DirectX

JAVA技術-&> Swing,AWT等

開源的-&> QT, wxWidgets等


先說微軟自己主流的東西:

第一階段:WIN32 PLATFORM API

第二階段:MFC

第三階段:.NET WINFORM

第四階段:METRO(現在叫Windows 8 Style UI)

幾點說明:

0. 這些階段劃分並不是那麼絕對的,比如有了MFC就拋棄了WIN32 API。事實上很多時候都是MFC結合WIN32 API在一起使用。

1. 如@陳良喬 同志所言,DIRECTX用於特定場合的渲染,不單列了 。

2. 可能大家覺得MFC/WINFORM的界面不好看,古板,於是有了DirectUI技術,效果能做到美輪美奐的,但不算主流。

3. WTL也算不上主流,尤其是國內。

-----

非微軟的技術,大致有:

BORLAND的OWL(DELPHI和BCB流行的年代,這個非常NB)

JAVA的AWT/SWING/SWT

其它一些開源的、移植過來UI庫如QT等......

-----

本人自2006年之後就基本告別了微軟平台上的軟體開發,說得不對的,請大家指正。


如果不考慮跨平台,只限於win32,則桌面應用開發,首選delphi,沒有之一:

一般而言,開發效率高 和 運行效率高 是一對矛盾,無法兼得

但是,基於pascal、turbo pascal進化而來的delphi,其實很好地做到了兼得:開發像vb,運行像vc!一度被稱為vb殺手!

可惜vb的主人太強,delphi的主人後來走火入魔,才使得一代創世紀的語言平台走向湮滅

delphi做資料庫(本地、大型)、網路、工具、圖形、web(開發效率將與普通工具一樣了)應用都可以,

只是現在了解、熟悉的人不多了


他山界面開發框架是一套基於Gecko的跨平台界面解決方案。可使用xul, html(5), css(3), js 開發界面,支持js, c++互調,發行包大小13MB


大家回答得比較多了,不過,如果題主是說桌面應用的開發而不是用戶界面的開發的話,我再補充一下。

微軟面向桌面應用主要是提供了Windows API,除了界面,還有數據訪問,圖形多媒體,網路等眾多的介面。同樣以桌面開發為目的,通過將Windows API進行封裝,微軟提供了MFC,.NET等類庫。

所以主流的桌面開發技術當數.NET,大家說得比較多的WPF屬於.NET中對界面表現層的封裝,題主應該看看完整的.NET幫助文檔,這樣可以避免自己實現一些微軟已經提供的輪子。

至於MFC,並不是它太老太爛,而是它提供的封裝實在太有限了,真的不如直接面向Windows API來的方便。


補充兩點:

1.DirectUI自誕生起一直都是國內UI開發技術的主流,直至現在;

2.近年來WebUI發展迅猛,大有取代DirectUI之勢。


大公司自己寫gui庫


請看 Windows 桌面開發 - Windows 應用開發


推薦閱讀:

CAE軟體有哪些?
類似於「善用佳軟」,「小眾軟體」這樣的網站有哪些?
服裝實體店+網店有什麼好用的進銷存軟體啊?
除了 Tagxedo外,還有什麼好的軟體製作可以詞雲?
Windows 10應用商店上面有哪些便利學習或生活的軟體值得推薦?

TAG:軟體 | MicrosoftWindows | 編程 | 桌面應用開發 |