(from http://www.cnblogs.com/amtf/archive/2011/12/05/2276775.html)
發展篇:
WEB程式: HTML –> ASP –> ASP.NET –> ASP.NET MVC
HTML: 純html標籤表示的靜態網頁。
ASP: ASP用文字編輯器,就可以進行開發的,把頁面配置、資料訪問、後台響應混合在一起的動態網頁面編程技術。
ASP.NET: ASP.NET開始把UI介面,與後台互動代碼進行分離(個人覺得只是表面)。
ASP.NET MVC: ASP.NET MVC把經典的桌面圖案,融入到web開發中,讓UI更加獨立(核心分離),讓程式層次更加分明,更加具強的代碼可測試性。
傳統型程式: VB/VC 6 -> .NET Framework -> WPF
VB/VC 6: 純傳統型應用程式的開發環境,對WIN32 API進行封閉的視窗案頭IDE,往後的升級也是如此,直到.NET的出現。
.NET Framework:隨著CLI中繼語言的發展而產生,讓微軟的開發平台進行了大一統,對後台類庫,編碼語言、組件的高度整合;隨著.NET版本的不斷升級,各種流行的設計思想、領域模式的加入,讓微軟的.NET戰略更加成功。
WPF:隨著人們對富用戶端的使用者體驗要求的提高,也隨著WEB技術的發展;微軟,重新定義了傳統型應用程式的概念,對錶示層的組件進行了重新設計,就連其介面表示語言都變成了類網頁格式(xaml),當然支援的核心也在發生變化;讓案頭程式的UI與幕後處理,徹底分離;這個東西,我覺得有點野心,非常期待,我們開發出來的WPF應用程式,以後可以直接轉換成HTML5格式的Web Application(無從考證);當然,每一次的技術發展,都在web訪問的安全性、API擴充,整合等方面有不少的改進。
富用戶端WEB程式: Flash、Silverlight
Flash and Silverlight 都是一個跨瀏覽器、跨客戶平台的技術,能夠設計、開發和發布有多媒體體驗與富互動(RIA, Rich Interface Application)的Web Application。
但隨著HTML5的發展流行,這兩個瀏覽器的外掛組件,必定走向沒落、消失。
未來篇:
WCF
WCF並不算什麼新技術,其實是對微軟所支援的各類網路資料提供者(Web Service (SOAP with HTTP communication),.NET Remoting (TCP/HTTP/Pipeline communication) 以及基礎的 Winsock 等通訊支援,由於各個通訊方法的設計方法不同,而且彼此之間也有相互的重疊性)的統一,換了張臉譜而已;軟體即服務,所以WCF,在目前這個階段,依然是滿重要的東東。
HTML5 + CSS3 + Javascript
大勢所趨,Javascript會變得更加容易編碼,更加物件導向。
NOSQL非關聯式資料庫
隨著MICROSOFT、IBM等大家的加入,勢必給NOSQL注力,推動NOSQL的快速發展。
由此可見:
新技術的引入可以高效地開發高品質的軟體。
軟體的發展,越來越注重以使用者的體驗為中心,趨向於更加合理的層次劃分,高內聚、松耦合、可測試性。