2024 年 1 月 24 日
ClojureScript 团队
我们很高兴宣布 ClojureScript 的新版本。如果您是 ClojureScript 的现有用户,请仔细阅读以下版本说明。
此版本主要修复了 bug。
有关 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 的方法,以获得 Closure 高级编译的优势,而不会失去 JavaScript 生态系统提供的便捷性。