前言
Windows 8 引入全新「Windows Store 應用程式」(Metro/Modern App),與傳統桌面應用程式並存。本文深入解析兩大應用程式模型的架構差異、開發語言、UI 引擎與 API,幫助開發者選擇適合的技術棧。
兩大應用程式模型對比
| 特性 | 傳統桌面應用程式 | Windows Store 應用程式 |
| UI 引擎 | GDI / GDI+ / DirectX / WPF (XAML) | DirectX / XAML (WinRT) |
| API 集合 | Win32 API、.NET Framework、COM | Windows Runtime (WinRT) API |
| 安裝方式 | MSI/EXE 安裝程式、xcopy 部署 | Appx 封裝,透過 Windows Store 部署 |
| 執行環境 | 完整桌面、系統管理員權限可選 | 沙箱環境、受限權限、生命週期管理 |
| 觸控優化 | 視開發者實作而定 | 原生觸控、手勢、縮放支援 |
傳統桌面應用程式三大開發框架
1. Win32 應用程式(C / C++ / VB6)
- 直接編譯為機器碼,呼叫 Win32 API。
- UI 採用 GDI/GDI+ 或 DirectX 繪製。
- 適用於高效能、底層系統工具、遊戲引擎。
2. .NET 應用程式(C# / VB.NET)
- 編譯為中繼語言 (IL),於 Common Language Runtime (CLR) 執行,JIT 編譯為機器碼。
- UI 採用 XAML (WPF) 或 Windows Forms。
- 豐富類別庫、記憶體管理、例外處理,開發效率高。
3. HTML5 應用程式(HTML / CSS / JavaScript)
- 基於瀏覽器引擎(MSHTML/Trident)運行。
- 可封裝為桌面應用程式(HTA、Electron 前身概念)。
- 適合網頁開發者轉型、跨平台原型快速構建。
Windows Store 應用程式開發選項
- XAML + C#/VB.NET/C++: 原生效能、豐富控制項、資料繫結,主流選擇。
- HTML5 + JavaScript: 利用既有 Web 技能,呼叫 WinRT API 存取裝置功能。
- DirectX + C++: 遊戲、高效能圖形應用程式首選。
結語
Windows 8 雙模型架構兼顧相容性與創新。現有桌面應用程式可平滑移植;新專案若以觸控、行動裝置、Store 發佈為目標,Windows Store 應用程式模型提供更現代化的開發體驗與營收管道。開發者可依專案屬性、團隊技能、目標裝置彈性選擇。