Kotlin Multiplatform 快速入門指南
從何處開始
- 了解 Kotlin Multiplatform (KMP) 與 Compose Multiplatform (CMP): 它們是什麼、其優勢與使用案例。
- 在範例專案中嘗試 KMP,查看其組織方式以及如何在不同平台上執行。
學習 KMP 基礎知識
基礎知識包括:
- 了解 KMP / CMP 專案的組織方式。 這涵蓋:
- 共享模組中的通用與平台特定程式碼。
- 目標平台宣告。
- 為 KMP 專案新增相依性。
- 如果您已熟悉 KMP,請確保您已掌握一般專案的推薦專案結構。 它考量了 Android Gradle plugin 9.0 的發佈如何影響 KMP 專案的需求,並涵蓋:
- 模組結構(具有作為程式庫使用的共享程式碼模組的獨立應用程式模組)。
- 建立新的應用程式模組,並從與 AGP 8 搭配使用的舊結構進行轉移。
- 由 JetBrains 技術傳教士錄製的專案結構建議影片。
共享程式碼
在 KMP 專案中共享程式碼有多種方式,並具有一些平台特性:
- 從應用程式模組呼叫通用程式碼的基礎範例涵蓋在引導教學中:
- 如何存取平台特定 API:
- 盡可能使用多平台程式庫。
- 當沒有合適的多平台程式庫可用時,請使用
expect/actual機制。
- 雖然從 Android Kotlin 呼叫共享 Kotlin 相對直接,但 iOS 互通性需要一些時間來了解:
- 了解如何將您的共享程式碼與 iOS 應用程式整合(本文件中引用的所有範例都有 iOS 整合設定的示例)。
CocoaPods 通常正逐漸被 Swift Package Manager 取代,我們不建議在新的專案中使用它。
- 查看包含讓 Kotlin 協同程式與 iOS 搭配運作的範例與教學。
- 參閱在您的 KMP iOS 應用程式中使用現有 SPM 套件的指南。
- 閱讀從 Kotlin 呼叫 Swift / ObjC 以及反向呼叫的深入說明。
- 了解更直接的 Swift export 方法(目前為 Alpha 版本)。
- 一般而言,互通性越少越好,因此為了獲得更流暢的體驗,我們建議依賴 Compose Multiplatform 為所有平台建置大部分的 UI。
- 了解如何將您的共享程式碼與 iOS 應用程式整合(本文件中引用的所有範例都有 iOS 整合設定的示例)。
探索生態系統
klibs.io 提供多平台程式庫的完整型錄:
- 最受歡迎的案例已由強大的解決方案涵蓋,通常也有可用的替代方案: 資料庫使用 SQLDelight 與 Room,網路連線使用 Ktor 與 OkHttp,圖片載入使用 Coil 等等。
- 提供了針對最熱門使用案例使用多平台程式庫建置的應用程式範例:
建立 KMP 程式庫
如果您決定透過使用多平台程式庫來建立共享程式碼的應用程式,請查看以下文件頁面:
- 基礎程式庫教學
- KMP 程式庫的發佈配置
- 將建置產物發佈到 Maven Central 與 npm 的教學
發佈建置產物
- 閱讀發佈 KMP 應用程式的通用文章。
- 別忘了 Apple App Store 所要求的隱私權資訊清單。
學習資源型錄
所有提到的資源,以及更深入的指南與第三方內容,都收錄在學習資源頁面中。
