2024 年 1 月 24 日
ClojureScript 團隊
我們很高興宣佈 ClojureScript 的新版本發佈。如果您是 ClojureScript 的現有使用者,請仔細閱讀以下版本說明。
這主要是一個錯誤修復版本。
有關 ClojureScript 的完整修復、變更和增強列表,請參閱這裡
這可能是最後一個支援 Java 8 的 ClojureScript 版本,因為 Google Closure Compiler 現在需要 Java 11。
Google 已經停止開發 Google Closure Library。這對 ClojureScript 的未來意味著什麼?沒什麼大不了的。Google Closure Library 是一個與編譯器不同的專案,它提供了一大組可重複使用的、經過實戰考驗的函式庫,這些函式庫與 Closure 相容。隨著瀏覽器和 JavaScript 生態系統的發展,這個專案對 Google 而言變得不那麼重要了。
Google 不會移除 Google Closure Library (GCL)、移除 API 文件,或做任何對 ClojureScript 有害的事情。請注意,Google 多年前就已停止提供定期發佈版本 - ClojureScript 使用的是我們自己發佈的構件。即使 Google 將 GCL 從網際網路移除,我們仍然可以繼續自己提供構件和文件。
標準函式庫 cljs.core
以相對簡單的方式使用 GCL,其中大部分可以輕鬆替換。這可能會隨著時間的推移發生,歡迎社群在此方面做出貢獻。
各種內建的 REPL(瀏覽器、Node)使用了更多的 GCL 功能,也可以隨著時間的推移逐步發展。
以上任何變更都不會影響我們產生與 Google Closure Compiler 相容的 JavaScript,並且我們會繼續這樣做。Google 本身擁抱了更廣泛的 JavaScript 生態系統,但他們也將所有內容轉換為與 Google Closure Compiler 相容的 JS(透過tsickle),然後最終由 Google Closure Compiler 處理。
一如既往,我們不相信為使用者製造毫無意義的變動。您可以在未來幾年繼續依賴目前形式的 GCL。您可以像以前一樣期望各種基本的 GCL 名稱空間 (goog.string
、goog.object
等) 可用。
展望未來,值得評估 Google 使用 tsickle 的方法,以在不失去 JavaScript 生態系統提供的便利性的情況下,獲得 Closure 進階編譯的好處。