JetBrains 發布了 Kotlin Multiplatform 的首個穩定版本

2023-11-16     InfoQ

原標題:JetBrains 發布了 Kotlin Multiplatform 的首個穩定版本

作者 | Tim Anderson

譯者 | 劉雅夢

策劃 | Tina

JetBrains 提供了 Kotlin Multiplatform 的首個穩定版本,支持跨 iOS、Android、桌面、Web 和伺服器進行代碼共享——儘管用於共享用戶介面(UI)代碼的部分,Compose Multiplatform,僅適用於 Android 和桌面。

Kotlin 是由 JetBrains 開發的一種 JVM(Java 虛擬機)語言,並被谷歌(Google)用作 Android 開發的首選語言。既然 Java 已經是為跨平台代碼而設計的了,那麼 Kotlin Multiplatform 又增加了什麼呢?答案是 Kotlin 不僅僅是一種 JVM 語言。Kotlin/Native 使用 MinGW(適用於 Windows 的 GCC 工具鏈)和 Android NDK 編譯成適用於 macOS、iOS、Linux、Windows 的獨立可執行文件。Kotlin/JS 將 Kotlin 轉換為 Java。Kotlin Wasm 仍處於實驗階段,可編譯成 WebAssembly。

Kotlin Multiplatform 是一種跨所有這些平台共享非 GUI 代碼的技術。它解決了代碼共享的兩個常見問題,即對於所有目標平台的一個子集,僅需部分共享某些代碼的需求,以及需要訪問特定於平台的 API。

Kotlin Multiplatform 中的 Expect 和 Actual,解決了調用本機平台 API 的需求

本機 API 問題是通過預期聲明和實際聲明的機制來解決的。expect 關鍵字將聲明標記為將與用actual關鍵字標記的代碼匹配,actual關鍵字可能是特定於平台的。JetBrains 建議僅對平台 API 使用 expect/actual,其他情況使用普通接口。

2022 年的一項調查顯示,Kotlin Multiplatform 應用程式的代碼共享率高達 63%

Kotlin Multiplatform 適用於非 GUI 代碼,但有一個相關項目 Compose Multiplatform,它可用於創建共享的用戶介面(UI)。Compose Multiplatform 基於谷歌的 Jetpack Compose,用於構建 Android 用戶介面。Compose Multiplatform 在桌面平台、macOS、Linux 和 Windows 上也是穩定版本,但在 iOS 上是 Alpha 版本,在 Web 上是實驗性的。根據 JetBrains 的說法,Kotlin Multiplatform 已經被包括 Netflix 和 VMWare 在內的公司所使用。

如果 Compose Multiplatform 還沒有準備好,那麼開發者如何支持 iOS 呢?這可以通過使用 SwiftUI 來實現,SwiftUI 是蘋果(Apple)的官方 UI 設計語言,它是基於聲明式代碼的。有一些代碼示例正是採用了這種方式實現的。

JetBrains 還表示,他們的目標是在 2024 年發布面向 iOS 的 Compose Multiplatform 測試版本,Kotlin/Wasm 也在積極開發中。

去年,谷歌通過 引入 其他一些 Jetpack 庫的「實驗預覽」,表達了對 Kotlin Multiplatform 的一些支持,這些庫不是用於生產的,而是用於「在針對 Android 和 iOS 應用程式的多平台項目中使用這些 Jetpack 庫的反饋」。請注意,谷歌還提供了使用 Dart 語言和 Flutter UI 進行跨平台開發的 Flutter。

使用 Kotlin 而不是 Java 的另一個原因是它的語言特性,包括 lambda 表達式、擴展函數、類型推理、null 安全等等。Kotlin 沒有檢查異常,因為這些不會提高生產力或代碼質量。

Kotlin Multiplatform 和 Compose Multiplatform 均可免費使用。Kotlin 的代碼位於 Github 上,許可證是 Apache2.0。

原文連結:

https://devclass.com/2023/11/01/jetbrains-offers-first-stable-release-of-kotlin-multiplatform/

「谷歌有谷歌的規矩」

丟掉 LangChain、像 Docker一樣編排大模型應用程式:這支十餘人的年輕創業團隊如何在2個月做出一個LLMOps平台?

僅憑 7 頁 PPT 拿下 1 億美元融資、半年後估值超 10 億!「歐洲 OpenAI」殺瘋了

易鯨捷否認貼牌 Oracle;鴻蒙進教材:「純血」版不再兼容安卓應用;大叔們遭AI女友「斷崖式分手」 | Q 資訊

文章來源: https://twgreatdaily.com/zh-cn/3bf15ad543b0bef08b2043697a1c7717.html