Bỏ qua để đến nội dung

👋 Giới thiệu KMP

Kotlin Multiplatform (KMP) là công nghệ cho phép bạn viết code một lần và chạy trên nhiều nền tảng:

  • 📱 Android
  • 🍎 iOS
  • 🖥️ Desktop (Windows, macOS, Linux)
  • 🌐 Web
  • ⚙️ Backend

Điểm khác biệt với các giải pháp cross-platform khác

Phần tiêu đề “Điểm khác biệt với các giải pháp cross-platform khác”
KMP Flutter React Native
UI Native hoặc Compose Multiplatform Custom (Skia) Native bridge
Performance Native Near-native Bridge overhead
Logic sharing ✅ Business logic UI + Logic UI + Logic
Native integration Dễ dàng Cần channel Cần bridge
Language Kotlin Dart JavaScript
By JetBrains Google Meta
  • KMP: Chia sẻ business logic (networking, database, domain…)
  • Compose Multiplatform: Chia sẻ cả UI bằng Jetpack Compose
flowchart TD
subgraph CMP["🎨 Compose Multiplatform"]
UI["UI chung cho Android, iOS, ..."]
end
subgraph KMP["🔧 Kotlin Multiplatform (KMP)"]
LOGIC["Business logic, data, domain"]
end
subgraph Platform["📱 Platform Code"]
AND["Android SDK"]
IOS["iOS SDK"]
JS["JS"]
JVM["JVM"]
end
CMP --> KMP --> Platform
style CMP fill:#e3f2fd,stroke:#2196f3
style KMP fill:#fff3e0,stroke:#ff9800
style Platform fill:#e8f5e9,stroke:#4caf50
  • Viết business logic một lần
  • Cập nhật bug fix một chỗ
  • Testing tập trung
  • Nếu bạn đã biết Kotlin (từ Android), chuyển sang KMP rất nhanh
  • Null safety, coroutines, extension functions…
  • Google dùng KMP trong các app: Google Docs, Drive, Sheets
  • JetBrains phát triển tích cực với Android Studio hỗ trợ tốt
  • Code Kotlin được compile thành native code cho từng platform
  • Không có overhead như các giải pháp bridge
  • Có thể thêm KMP vào app Android/iOS đang có
  • Không cần viết lại từ đầu
  • Chia sẻ business logic giữa Android và iOS
  • Backend cùng dùng Kotlin
  • App có logic phức tạp cần consistency
  • Team đã biết Kotlin
  • App đơn giản chỉ cần một platform
  • Team không biết Kotlin
  • Cần native UI phức tạp đặc thù từng platform

Xem Lộ trình học KMP để có hướng dẫn chi tiết.