瞻前顧後 Windows程式開發方式的重要演進 賴榮樞
講師簡介 賴榮樞 逾十年的電腦圖書及雜誌編輯經驗 目前專事電腦圖書的翻譯及寫作 偶爾亦上台分享自己的研習心得 goodman.lai@gmail.com www.goodman-lai.idv.tw
關於今天的內容 觀點 議題 技術、歷史、宏觀 圖形操作介面的濫觴 Windows SDK Microsoft Foundation Classes Visual Basic .NET Framework
Xerox Alto--個人電腦的始祖 第一部採用桌面概念的個人電腦 誕生於1973年的Xerox PARC 原始概念由Butler Lampson提出 主要設計者為Charles Thacker
重要影響 電腦個人化 從大型主機到桌上 圖形虛擬化桌面 GUI 虛擬桌面環境 所見即所得 網路環境 乙太網路 電子郵件
Windows 1.0
Windows 2.0
Windows 3.x
Windows NT 3.1 第一個32位元的Windows作業系統 能執行 檔案系統 支援處理器 Win32 PE(Portable Executable) Win16 NE及DOS程式 POSIX、OS/2 檔案系統 FAT、OS/2 HPFS、NTFS 支援處理器 x86、Alpha、MIPS、PPC(NT 3.51) 採用先佔式多工(preemptive multitasking)
Windows SDK 最基本、原始的Windows程式開發方式,主要適用於C/C++開發 基本上,能開發Windows程式的C開發工具,都內建Platform SDK 每個Windows版本通常都有專屬的SDK;目前最新版本為Windows Server 2003 R2 Platform SDK
Windows SDK Platform SDK起始網頁:msdn.microsoft.com/platformsdk 三種下載方式: ISO檔 Web install 個別下載CAB檔案
Windows SDK Platform SDK需搭配C/C++開發工具 為Platform SDK設定開發環境 Windows SDK範例 GUI 環境變數 Windows SDK範例
Windows SDK Windows API Platform SDK Document: Windows API的說明文件 Programming Windows:Windows SDK程式開發指南 Windows SDK範例
MFC MFC:將Windows API包裝成C++類別程式庫的應用框架 源起自1992年推出的Microsoft C/C++ 7.0(MFC 1.0) 學習MFC之前應先瞭解Windows系統運作,並熟悉C++及物件導向
MFC 類別的階層架構 MFC範例 Visual C++的MFC版本 Microsoft C/C++ 7.0 – 1.0 VC++ 1.0 – 2.0、VC++ 1.5 – 2.5、VC++ 2.0 – 3.0 VC++ 2.1 – 3.1、VC++ 2.2 – 3.2、VC++ 4.0 – 4.0 VC++ 4.1 – 4.1、VC++ 4.2 – 4.2 VC++ 5.0 – 4.21、VC++ 6.0 – 6.0 Visual C++ .NET 2002 – 7.0 (mfc70.dll) Visual C++ .NET 2003 – 7.1 (mfc71.dll)
Visual Basic 「視覺化」的Windows開發工具 各個版本的Visual Basic 視覺化的拖拉 視覺化的元件 處理元件的事件
Visual Basic
Visual Basic 開發者眾多的Windows開發工具 簡單 實用 豐富 Visual Basic範例
.NET Framework 新的執行環境:CLR 新的物件導向語言 豐富的基礎類別程式庫:ADO.NET、XML、Threading… Visual Basic .NET 豐富的基礎類別程式庫:ADO.NET、XML、Threading…
.NET Framework
.NET Framework 一致的程式設計架構:不論使用何種.NET語言 能整合不同的.NET語言:同一專案可用不同的.NET語言完成 物件導向的程式開發方式: Windows Forms、Web Forms 全視覺化的開發工具: Visual Studio 2005 範例
.NET Framework 3.0 WinFX .NET Framework 3.0 .NET Framework 3.0是.NET Framework 2.0的superset .NET Framework 3.0完全與.NET Framework 2.0回溯相容
.NET Framework 3.0
.NET Framework 3.0 Windows Vista預設已安裝.NET Framework 3.0 Microsoft Windows Server code-named "Longhorn"內建但預設不會安裝 Windows XP SP2和Windows Server 2003 SP1: 尚未安裝.NET Framework 2:安裝.NET Framework 3.0也會安裝.NET Framework 2 已安裝.NET Framework 2:安裝.NET Framework 3就只會安裝WRF、WF、WCF、CardSpace所需要的檔案。
.NET Framework 3.0 .NET Framework組件的版本號碼 .NET Framework 3與.NET Framework 2共用許多元件,而且CLR和BCL也與.NET Framework 2相同,因此這些共用元件的版本還是2.0 WCF、WPF、WF、CardSpace所有的runtime和參考組件的版本則都是3.0 Windows Server "Longhorn" IA64是.NET Framework 3唯一支援的IA64平台
.NET Framework 3.0 .NET Framework 3.0包含了: Windows Presentation Foundation (WPF,原本的專案代號是Avalon) Windows Communication Foundation (WCF,原本的專案代號是Indigo) Windows Workflow Foundation(WF) Windows CardSpace (原本的專案代號是InfoCard) Microsoft .NET Framework 2.0 前四項技術的所有類別都在System命名空間
結語 每個Windows版本都有開發者得以應用在程式的新功能,這些新功能皆可從Platform SDK找到 Windows SDK的開發方式雖然原始,但程式執行效率通常最佳,適合用在系統程式的開發 MFC為開發者引進C++類別程式庫,大幅提昇了Windows程式設計的效率
結語 Visual Basic除了提供視覺化的快速開發環境,也刺激了COM元件的需求,是COM技術普及的重要推手 MFC原本是C++開發者的首選,但.NET Framework的Windows Forms也是很好的選擇 Visual Basic開發者只要加強物件導向的基礎,便能充分感受到.NET Framework的優點
結語 .NET Framework 3.0亦新增原本專屬於Windows Vista的功能,現在這些功能也可用在Windows XP SP2和Windows Server 2003 SP 1