架構決策記錄:Tailwind CSS
決策:用 Tailwind CSS 作為 CSS 框架,為用戶介面設計樣式。
咩係 Tailwind CSS?
Tailwind 係一個實用優先(utility-first)嘅 CSS 框架,令用戶介面可以快速開發同自訂。佢設計成高度可自訂,令開發人員可以寫出更精簡、更高效嘅 CSS。呢個框架提供一套預先定義嘅 class,可以非常快速咁為 UI 設計樣式。
背景
我哋正為客戶建置一個網頁應用程式,需要響應式而且可自訂嘅用戶介面。客戶要求一致而現代嘅樣式。開發團隊有使用自訂 CSS 嘅經驗,但想探索可以節省時間同精力嘅 CSS 框架。我哋正尋找一個易用、可自訂,而且有龐大社群提供支援嘅框架。
決策驅動因素
易用: 我哋想要一個簡單易學,並且可以整合入我哋開發工作流程嘅框架。
可自訂: 我哋想要一個可以自訂,以配合客戶品牌指引同主題嘅框架。
龐大嘅社群支援: 我哋想要一個擁有活躍開發者同設計師社群,可以在有需要時提供協助同資源嘅框架。
節省時間: 我哋想要一個可以節省設計 UI 樣式嘅時間同精力嘅框架。
考慮過嘅選項
Bootstrap: 受歡迎嘅 CSS 框架,有大量預先建置嘅組件同龐大嘅開發者社群。
Foundation: 另一個受歡迎嘅 CSS 框架,專為行動優先(mobile-first)開發而設計。
Materialize: 基於 Google Material Design 語言嘅 CSS 框架,附有用於 UI 開發嘅預先建置組件。
Tailwind CSS: 實用優先嘅 CSS 框架,著重自訂同效率。
決策結果
考慮過各個選項之後,我哋決定用 Tailwind CSS,原因如下:
易用: Tailwind 嘅做法簡單易明。佢嘅實用 class 令建置 UI 更快。
可自訂: Tailwind 提供一套配置檔案,令開發人員可以輕鬆修改框架嘅預設樣式,從而支援自訂。
龐大嘅社群支援: Tailwind 擁有非常活躍嘅開發者同設計師社群,不斷創造新資源、外掛同工具。
節省時間: Tailwind 可以節省時間,令開發人員專注於項目嘅其他範疇。
我哋會用 Tailwind CSS 嘅實用 class 為項目建置 UI。開發團隊會用佢嘅原子化同模組化設計系統,撰寫高效而可擴展嘅 CSS 程式碼。我哋會善用 Tailwind 預先建置嘅範本同視覺組件加快開發過程,同時利用自訂樣式配合客戶嘅品牌同主題。