Tim Berners-Lee 發明 Web 初衷是**信息交換**,而非視覺炫技。W3C 標準 (XHTML, CSS, DOM, ECMAScript) 核心精神是**寬容**:寬容開發者 (易維護)、寬容瀏覽器 (跨平台)、寬容頻寬 (精簡代碼)、寬容設備 (響應式)、寬容未來 (可擴展)。本文闡述結構/表現/行為分離原則與商業力量對標準的挑戰。
Web 標準三層分離
| 層次 | 技術 | 職責 | 檔案 |
| 結構 | XHTML / HTML5 | 語義化標記內容階層 | .aspx, .html |
| 表現 | CSS 2/3 | 版面、色彩、字體、動畫、響應式 | .css |
| 行為 | JavaScript (ECMAScript) | 互動、DOM 操作、AJAX、客戶端邏輯 | .js |
分離帶來的寬容度
- 維護性:修改樣式不動 HTML,修改行為不動 CSS。
- 複用性:同一結構套用不同主題 CSS (換膚)。
- 協作性:設計師改 CSS、工程師寫 JS、內容編輯寫 HTML,互不干擾。
- 效能:CSS/JS 可快取、壓縮、CDN 分發、非阻塞載入。
- 無障礙/SEO:語義化 HTML 讓螢幕閱讀器、搜尋引擎理解內容。
商業力量與標準的博弈
- 瀏覽器大廠 (IE/Chrome/Safari) 為差異化競爭引入私有擴充,導致相容性地獄。
- 開發者被迫寫大量 Hack、UA 判斷、Polyfill,維護成本飆升。
- 標準最終勝出:HTML5 統一解析規則、Evergreen 瀏覽器自動更新、W3C/WHATWG 合作。
ASP.NET 開發者的實踐建議
- **拒絕 Table 佈局**,改用 Flexbox/Grid 語義化佈局。
- **移除內嵌 style/onclick**,全數外部化 CSS/JS。
- **啟用 ClientIDMode="Static" / Predictable**,配合非侵入式 JS 綁定。
- **使用 Bundle/Minification/CDN** 最佳化靜態資源傳遞。
- **採用響應式設計 (Mobile First)**,單一代碼庫服務所有裝置。
- **漸進增強**:核心功能無 JS 可用,JS 增強體驗。
遵循 Web 標準非道德姿態,乃工程理性選擇——降低總擁有成本、延長系統壽命、擁抱未知未來。