Kotlin Multiplatform
使用 Kotlin Multiplatform 編寫單一程式碼集,即可在多個平台執行。
Google 正式支援 Kotlin Multiplatform (KMP),可讓您在 Android 和 iOS 之間共用商業邏輯。Kotlin Multiplatform 功能穩定且可用於正式版環境。 開發人員也可以使用 JetBrains 的 Compose Multiplatform (CMP),在不同平台共用 UI。
課程
Kotlin Multiplatform 基礎知識
立即踏上跨平台開發之旅,本路徑將引導您瞭解 Kotlin Multiplatform 的基本概念,包括設定專案、共用程式碼、使用平台專屬 API,以及將 Room 資料庫遷移至 Kotlin Multiplatform。
Android Studio 外掛程式
Kotlin Multiplatform 外掛程式
建議您安裝 JetBrains 開發的 Kotlin Multiplatform Android Studio 外掛程式,提升 Android Studio 的開發體驗。
- 「New project」精靈:在 IDE 中建立新的跨平台專案。
- 預檢:預檢可協助您設定環境。
- 執行設定:直接從 IDE 在 iOS 和 Android 上執行、偵錯及測試應用程式。
- IDE 中的基本 Swift 支援:在 IDE 中取得基本 Swift 支援,包括跨語言偵錯工具、導覽和快速文件。
Kotlin Multiplatform 的優點
使用 Kotlin Multiplatform,您可以選擇要跨平台共用的內容,從核心業務邏輯到整個應用程式都可以。以下列舉幾個主要優點:
重複程式碼
您不必在每個平台複製複雜的業務邏輯。
未完全改寫
使用 Kotlin Multiplatform 時,您不必重寫整個應用程式,即可開始在平台之間共用程式碼。
原生廣告成效
Kotlin Multiplatform 會編譯成目標平台執行程式碼的原生方式,因此效能與原生實作項目不相上下。
Kotlin Multiplatform 和 Jetpack 程式庫
許多 Jetpack 程式庫已遷移完畢,可支援 KMP。下列 Jetpack 程式庫支援 KMP:
Android 建構
JetBrains 建構
不支援
| 程式庫 | 最新版本 | Android | iOS | JVM | 網路 |
|---|---|---|---|---|---|
| annotation |
2025 年 10 月 22 日 |
||||
| collection |
2025 年 8 月 27 日 |
||||
| compose |
2025 年 10 月 22 日 |
||||
|
datastore
說明文件 |
2025 年 10 月 22 日 |
||||
|
生命週期
說明文件 |
2025 年 10 月 22 日 |
||||
|
viewModel
說明文件 |
2025 年 10 月 22 日 |
||||
|
viewModel-compose
說明文件 |
2025 年 10 月 22 日 |
||||
|
navigation
說明文件 |
2025 年 9 月 24 日 |
||||
| navigation3 |
2025 年 10 月 22 日 |
||||
| navigationevent |
2025 年 10 月 8 日 |
||||
| paging |
2025 年 9 月 10 日 |
||||
|
room
說明文件 |
2025 年 10 月 22 日 |
||||
| savedstate |
2025 年 10 月 22 日 |
||||
|
sqlite
說明文件 |
2025 年 9 月 24 日 |
如果您對這些程式庫有任何意見,請透過 Issue Tracker 與我們分享。
工具支援
您可以在 Android Studio 中開啟、編輯及執行多平台專案。
KMP 模組精靈
您可以在 Android Studio 中建立 KMP 共用模組,開始遷移至 KMP。這個模組會自動套用所有必要的外掛程式 (包括 Android-KMP 外掛程式),方便您開始開發 Android 和 iOS 應用程式。
JetBrains 的 Compose Multiplatform 即時編輯功能
在 Android 裝置上建構專案時,即時編輯功能會運作,編輯專案中的任何程式碼 (不只是
androidMain)。
JetBrains 的 Compose Multiplatform 預覽畫面
您也可以從
commonMain 來源集預覽 JetBrains 的 Compose Multiplatform。
以 Kotlin Multiplatform 建構的應用程式
許多應用程式已成功使用 Kotlin Multiplatform。
Blinkit
Cash App
Duolingo
Forbes
Google Docs
JioHotstar
石頭
Swiggy
Ultrahuman
Wrike
Zomato
支援的平台
正式支援的平台 (Android 和 iOS) 適用的 Jetpack 程式庫版本,會維持相同的品質和相容性需求。不過,我們正努力將 Jetpack 的 Kotlin Multiplatform 支援功能擴展至其他平台,因此工具和基礎架構支援功能可能仍在開發中。
級別 1
程式碼會在 CI 中經過完整測試,包括主機端和裝置端測試。我們會根據語意版本管理政策,追蹤來源和二進位檔相容性。
- Android
- JVM
- iOS
級別 2
程式碼會在 CI 上進行部分測試,但僅限於主機端測試。我們不會追蹤來源或二進位檔相容性。
- macOS
- Linux
階層 3
程式碼未在 CI 上測試。不追蹤來源或二進位檔相容性。
- watchOS
- tvOS
- Windows
- JavaScript
- WASM
其他資源
如要進一步瞭解整體跨平台生態系統和更進階的設定,請參閱官方的 Kotlin Multiplatform 說明文件。
Kotlin Multiplatform 範例
這組 Kotlin Multiplatform 範例會示範如何使用 Android 和 iOS 適用的 Jetpack 程式庫。
開始使用 Kotlin Multiplatform
逐步引導您在專案中新增 KMP。
將 Room 遷移至 Kotlin Multiplatform
循序漸進地將僅限 Android 的 Room 遷移至 KMP。
深入指引
如需更深入的指引,請參閱 Kotlinlang.org 上的 Kotlin Multiplatform 說明文件中心。
瞭解 Kotlin Multiplatform 的定義、運作方式,以及使用這項技術的優點。