Architecture Decision Record

Active theme: Light

← 決策記錄例子

架構決策記錄:React 前端 JavaScript 庫

背景

我哋需要為應用程式揀選一個前端 JavaScript 庫,去開發響應式而互動嘅用戶介面。

考慮過嘅選項

  1. React

  2. Vue

  3. Svelte

決策

我哋會用 React 作為前端 JavaScript 庫。

理據

  1. 基於組件嘅架構: React 提供基於組件嘅架構,令我哋可以將 UI 拆分成細小可重用嘅組件。咁樣有助改善程式碼嘅模組化,令應用程式更易維護、擴展同更新。

  2. 宣告式編程: React 採用宣告式編程風格,令我哋嘅程式碼更直觀、更易讀。佢亦提供虛擬 DOM,令我哋嘅程式碼運行得更快、更高效。

  3. 龐大嘅社群: React 擁有龐大而活躍嘅社群,亦係最受歡迎嘅前端庫之一。意味住有大量資源、工具同程式庫,可以幫助我哋更快、更高效咁開發應用程式。

  4. 更好嘅效能: React 採用單向數據流,有助簡化應用程式邏輯,令其更高效。佢亦提供伺服器端渲染,有助改善應用程式嘅效能同 SEO。

  5. 靈活性: React 可以同其他程式庫和框架一齊使用,令我哋可以自由揀選最配合項目需求嘅技術棧。

後果

  1. 學習曲線: React 有學習曲線,剛接觸 React 嘅開發人員可能需要一段時間先能夠上手。

  2. 建置工具: React 需要額外嘅建置工具,例如 Babel 同 Webpack,可能會增加開發過程嘅複雜度。

  3. 瀏覽器兼容性: React 同舊版瀏覽器有兼容性問題,因為佢使用舊版瀏覽器唔支援嘅 ES6 功能。

  4. 陡峭嘅學習曲線:唔熟悉 React 嘅開發人員可能需要時間先學識有效使用,可能導致開發時間變慢。

結論

我哋決定用 React 作為應用程式嘅前端 JavaScript 庫。雖然佢可能有學習曲線,但 React 提供嘅好處,例如基於組件嘅架構、宣告式編程風格、更好嘅效能、靈活性同龐大嘅社群,大過潛在缺點。

鳴謝:呢頁由 ChatGPT 生成,之後為清晰度同格式而編輯。