天天看點

閑聊桌面應用開發[Win16->Win32->ATL/WTL/MFC->WinForm->WPF/Silverlight/WinRT]

閑來無聊,正好小組人員讨論到桌面的開發,那把筆者接觸的WIndows平台下的幾個主要的發展過程聊一聊。

主要從概述,參考資料,圖書等幾個方面說起。

所有的界面開發都會涉及如下的幾個方面的内容:

v 控件 [Contrrols Widget]及驗證

v 綁定:資料綁定到控件和控件的内容回報回資料

v 布局系統:

v 模式和支撐:和服務的通訊,MVC MVP MVVM等模式

這個主要是Windows3.x的時代,這個時代筆者接觸的不是很多,當年也主要是使用體驗了。當年買了很多的3寸5寸的軟碟把系統安裝拷貝進去,找機房嘗試使用了。

相比于DOS,打開了一個全新的視窗。

随着Windows 95 9x系列的釋出,系統軟硬體發生了翻天覆地的變化,此時的代碼開發還是相當的原始,WinMain函數和消息循環每每都是手工的建構。目前筆者在最早的Windows CE系統建構工具軟體就是完全使用WIN32編寫的[當時對軟體的大小要求很高],不過通過這個對整個的視窗程式的運作機理還是很清晰的。

開發工具上當時還流行的VC1.52 Borland C++[李維在borland的書有詳細介紹]。

Win32 API參考手冊

Windows 程式設計(Charles petzold)

這些可以說是很經典的資料,至于網絡資料,這時還很少。

這個時期的經典工具VC6,到目前也有很多地方在用。VS開發工具也樹立了霸主的地位。

v 控件

n 此時Spy可以看到一個軟體的視窗句柄,後來由于這樣的方式對資源消耗較大,DirectUI出現改進了控件的處理模式

v 綁定

n DDX UpdateData的使用也算是提供了一定的解決方案

n 很多是手動處理,還可以使用一些第三方的封裝庫

v 模式和支撐:

n 較少

深入淺出MFC (侯捷)

深入解析ATL

Codeguru.com

Codeproject.com

Vckbase.com

這些是比較常用的網站

n 沿襲MFC的形式進行了擴充

n 有改善

n 有較大改進

n MVP等Pattern and Practices開始在MSDN出現

WinForm算是比較短命的一個解決方案,後續被WPF/Sliverlight這類取代

CLR Via C#

這個作為微軟.net戰略的重點,和WCF WF WPF這三架馬車,起到了一個重要的一環。

WPF這個界面架構針對以前的界面核心有顯著的變化。

這個過程中出現的JavaFX沒有造成沖擊,随着sun的被收購歸于沉寂。

v 控件:

n 很完善,而且可以友善定制

v 綁定:

n 雙向綁定的優秀支援

n 相比以前很全面,有大幅度的提升

n MVP MVVM等大量實作

WPF揭秘

WPF核心技術

WPF專業程式設計指南

Silverlight揭秘

Codeplex.com 微軟現在官方的開源站點,很多的開源代碼都在這釋出,如Pattern and Practices, Ado.net Entity等

由上可見整個桌面應用的開發曆史發展随着軟體硬體的發展而顯著的發生着變化,很多人會說,每個都跟蹤豈不是很累,其實,這些内容主要精通1個,再學習新的内容時都很快。畢竟再怎樣發展,其核心的思想部分仍然是一緻的。

繼續閱讀