慶祝 Kotlin 2.0 版本發佈:更快、更智能、多平台支援 (AI翻譯)

JLin
5 min readMay 24, 2024

--

此文直接由Claude翻譯,無修正,請參考原文。

https://blog.jetbrains.com/kotlin/2024/05/celebrating-kotlin-2-0-fast-smart-and-multiplatform/?lidx=0&wpid=476155

慶祝 Kotlin 2.0 版本發佈:更快、更智能、多平台支援

今天,我們很高興發布了 Kotlin 2.0 版本,其中包含了穩定的 K2 編譯器。這個版本從根本上就支援多平台、更好地理解您的代碼,並且編譯速度比以前快一倍。

Kotlin 最初是作為一種 JVM 語言開始,由於其簡潔和安全性,迅速獲得了開發人員的青睞。它在伺服器端迅速獲得了普及,像 AWS、Adobe、Atlassian 和 Google 等主要公司都開始採用了它。Kotlin 也已成為 Android 開發的主要語言,在 1,000 個頂級 Android 應用程式中,有 95% 包含了 Kotlin 代碼。

我們進一步突破了 Kotlin 的界限,推出了 Kotlin 多平台(KMP),使您可以在伺服器端、Web、桌面、iOS 和 Android 之間共享代碼。Kotlin 多平台的普及程度已開始大幅增長,這項技術在領先的機構中獲得了大量採用,其中包括 Forbes、Philips、Square 和 McDonald’s。此外,Google 已經在自己的 Workspace 應用程式的開發中使用 KMP,現在正式建議使用 KMP 來共享業務邏輯。

Kotlin 2.0 是 Kotlin 演進的下一個階段。讓我們來仔細看看吧!

從根本做起的多平台支援

這個版本引入了 K2 編譯器,統一了 Kotlin 所支援的所有平台。現在所有編譯器後端都共享很多邏輯和統一的流程管線。這使我們可以一次為所有平台實作大多數的功能、優化和錯誤修復,大幅提高了新語言功能的開發速度。這個新的架構還可以進一步改善多平台專案的編譯時間。

有了這個新的編譯器,我們就可以做出超越編譯範疇的改進。團隊目前正在積極開發 KMP 函式庫發佈的下一代格式,其中將包含一些期待已久的功能,例如可以在任何主機上開發和發佈 KMP 函式庫,以及通用的 Kotlin 函式庫。這將有助於進一步擴展 KMP 生態系統,使多平台函式庫開發變得與 JVM 函式庫開發一樣直觀。

Kotlin 2.0 還為 Compose 多平台專案提供了官方支援。支援 Compose 多平台的 Jetpack Compose 編譯器已並入 Kotlin 存款庫,將與 Kotlin 一起發佈。

這些更新意味著,現在是開始使用 Kotlin 多平台共享代碼的最佳時機。

更快的編譯速度

多虧了新的編譯器前端,Kotlin 2.0 提高了編譯速度,可能會比之前快一倍。雖然某些專案可能會編譯得更快,而另一些可能會稍微慢一些,但總的來說,與之前的 Kotlin 版本相比,我們在真實世界的專案中看到了編譯時間的顯著提升。請瞭解有關 Kotlin 2.0 性能改進的更多資訊。

全新的 K2 模式

改進不僅僅停留在編譯速度上。IntelliJ IDEA 的 K2 模式目前處於 Alpha 階段,但已經取得了可喜的成果。在 IntelliJ IDEA Ultimate 的代碼庫上,我們看到代碼高亮約快了1.8倍,補全速度提高了1.5倍。我們將繼續努力,使 K2 模式變得更加穩定,並提供更快的補全和高亮功能。 K2 模式將在 2024.2 版的 IntelliJ IDEA 中達到 Beta 階段。我們仍有一些重要的 IntelliJ IDEA 功能待交付,到2024年底,我們計劃將 K2 模式設為默認啟用。請嘗試一下!

更智能的代碼分析和更多

新的編譯器行為更加一致,對您的代碼也有更好的理解,使智能轉型變得更加智能。它還解決了許多長期存在的問題,使您的代碼更加穩健。瞭解 Kotlin 2.0 中引入的所有新功能:

自信地遷移

我們通過嚴格地使用 40 個 JetBrains 和社區項目進行測試,涵蓋了 1000 萬行代碼,確保了平滑遷移到 Kotlin 2.0。超過 18,000 名開發人員和許多公司已在 80,000 個伺服器端、Android 和多平台項目中測試了 K2 編譯器,並提供了寶貴反饋。多虧了這些努力,Kotlin 2.0 是我們質量最高的版本,使您的遷移變得安全可靠。

Kotlin 的未來

Kotlin 2.0為Kotlin的未來鋪平了道路。有了這個健壯、快速且多平台的新編譯器,我們現在可以專注於語言發展的以下主要領域:

- 數據識別和解構,改進我們強大的數據流程架構和數據類。

- 通過上下文參數和顯式備份字段等功能,增加抽象層次。

- 通過值類和不可變性,實現高性能清晰代碼。

- 改善選擇加入機制和簽名管理,提升函式庫作者體驗。

直接從 Kotlin 首席語言設計師 Mikhail Zarechenskiy 那裡瞭解這些語言發展方向:

Kotlin 2.0 大幅提升了您的日常生產力。它帶來了更快、更智能、更穩健的編譯器,並且對 Kotlin 多平台專案提供了更好的支援。作為一名 Kotlin 開發人員,您不僅獲得了一種現代、簡潔和安全的語言,還可以存取多功能的生態系統,其中包括強大的框架,如 Ktor 和 Compose 多平台。結合 JetBrains IDE,Kotlin 2.0 提供了卓越的開發人員體驗,使您能夠為所有平台構建創新、高性能且可靠的應用程式。我們很高興看到您接下來將構建什麼。祝編程愉快!

個人心得: 看起來KMP +Compose 多平台支援的會繼續而且在正在起步,感覺真的會是一個跟flutter有比拚的一個平台,而編譯速度1.5倍的提升也會算是非常有感,目前越來越多Android原生Libs 譬如Android Jetpack Compose Compiler 也已經移動到 Kotlin Repository. 包含 ROOM,這一年看起來JetBrains也幾乎都投資在 KMP平台的更新與新功能開發,反而Kotlin語法本身的提升比較少

#kotlin #android #kmp #room #compose

--

--

JLin

JAVA / Android /Kotlin / Kotlin Native 對於Kotlin衍生的JVM等技術 Compose for web / desktop / Ktor Server,或是生成式AI (Gemini/OpenAI)各式應用, 都有小興趣