架構決策記錄:Go 程式語言
標題:採用 Go 程式語言
狀態:已接納
背景
我哋組織一直主要用 Java 程式語言建置網頁應用程式。不過,因為 Java 嘅冗長,以及部分框架嘅複雜度,我哋遇到咗一些挑戰。此外,我哋團隊亦表示有興趣探索現代程式語言,以達到更高效同穩健嘅開發。經過研究之後,我哋認為 Go 可以解決我哋用 Java 所面對嘅問題。
決策
我哋日後會採用 Go 程式語言嚟建置網頁應用程式。
理據
簡單同易讀: Go 以簡單同簡潔嘅語法見稱。咁樣令程式碼易讀易寫,減低我哋開發過程嘅複雜度。
高效能同可擴展: Go 會編譯成機器碼,喺伺服器上原生運行。同 Java 等直譯式語言相比,咁樣執行時間更快,效能更好。此外,Go 嘅並行模型可以同時處理多個請求,令佢具備高度可擴展性。
強大嘅社群支援: Go 有一個充滿活力嘅開發者社群,多年來為佢嘅成長作出貢獻。意味住有大量資源、程式庫同框架,幫助我哋入門並建置穩健嘅應用程式。
靈活: Go 可以用於前端同後端開發。意味住我哋可以喺開發項目嘅兩個範疇都善用佢嘅優勢。
影響
培訓: 我哋嘅開發人員需要接受培訓,學習 Go 程式語言同佢嘅細節。
經驗: 由 Java 過渡到 Go 嘅過程中,我哋可能會遇到一些挑戰。開發人員可能需要一段時間先熟練掌握新語言。
工具: 我哋需要採用專屬於 Go 嘅新工具同框架。不過,我哋可以善用現有嘅基礎設施,將呢個改變嘅影響減到最低。
供應商綁定: Go 係開源程式語言,我哋唔會被綁定於任何供應商或者服務提供者。
結論
採用 Go 程式語言會幫助我哋改善開發過程,並建置穩健嘅應用程式。我哋需要投入資源於培訓同工具,去支持呢個過渡,但我哋相信呢個決策嘅好處大過成本。