,

[KMP] 什麼是 KMP #1

簡介一下我自己對 KMP 的了解

[KMP] 什麼是 KMP #1

KMP

Kotlin Multiplatform(KMP)JetBrains 推出的開源跨平台開發技術,旨在讓開發者在不同平台間高效的重用程式碼,同時保留原生開發的優勢,以利業務邏輯共享,目前能支援Android、iOS、Windows、macOS、Linux、Web 等平台。

CMP

Compose Multiplatform(CMP) 也是 JetBrains 推出的,它主要是一個聲明式的 UI 框架,在 Android 平台已經推出多年。透過 CMP 與 KMP 的整合,能夠開發出業務邏輯、UI 共用的專案。


能夠支援怎麼樣的專案?

因為 KMP 的靈活特性,當前可以支援的專案大致如下

共享部分邏輯

希望統一不同平台的共用工具或邏輯,例如 Api、數據處理、演算法等。

完全共享業務邏輯,UI 各自實作

新專案開發希望業務邏輯和數據處理完全共用,避免多平台實作多次,但 UI 仍維持各平台自行定義與開發,確保最佳的使用者體驗。

共享 100%

希望最大化共用,邏輯及UI完全不需要製作第二次。


與 Flutter 比較

導入技術分享

Mobile multiplatform development at McDonald’s
The adoption of a responsive, native user interface for the Global Mobile App is enabling McDonald’s to build a codebase that can be shared…

麥當勞

Netflix Android and iOS Studio Apps — now powered by Kotlin Multiplatform
By David Henry & Mel Yahya

Netflix