Apa Itu Kotlin Multiplatform?
Kotlin Multiplatform atau KMP adalah teknologi dari JetBrains untuk membuat aplikasi lintas platform dengan satu basis kode Kotlin. Dengan KMP, developer bisa berbagi business logic untuk Android, iOS, desktop, dan web. Google juga mendukung Kotlin Multiplatform untuk sharing logic Android dan iOS.
Compose Multiplatform memungkinkan developer membuat UI lintas platform menggunakan pendekatan deklaratif seperti Jetpack Compose.
Keuntungan Kotlin Multiplatform
Kotlin Multiplatform cocok digunakan untuk aplikasi modern karena:
- Satu kode bisa dipakai di Android dan iOS.
- Business logic lebih konsisten.
- Development lebih cepat.
- UI bisa native atau menggunakan Compose Multiplatform.
- Cocok untuk aplikasi enterprise, fintech, banking, marketplace, dan internal perusahaan.
Tools yang Dibutuhkan
Sebelum membuat aplikasi, siapkan:
- Android Studio terbaru
- Kotlin Plugin
- JDK 17 atau lebih baru
- Gradle
- Xcode untuk build iOS
- Git
JetBrains menyediakan quickstart resmi untuk membuat aplikasi Kotlin Multiplatform dengan Compose Multiplatform UI.
Struktur Project Kotlin Multiplatform
Contoh struktur project:
MyKMPApp/
├── composeApp/
│ ├── commonMain/
│ ├── androidMain/
│ └── iosMain/
├── iosApp/
├── build.gradle.kts
└── settings.gradle.kts
Penjelasan:
commonMain = kode bersama Android dan iOS
androidMain = kode khusus Android
iosMain = kode khusus iOS
iosApp = project native iOS
Membuat Project Baru
Buka Android Studio, lalu pilih:
New Project > Kotlin Multiplatform App
Isi nama project:
Nama Project: MyKMPApp
Package Name: com.example.mykmpapp
Target: Android dan iOS
UI: Compose Multiplatform
Setelah project dibuat, jalankan Gradle sync.
Membuat Shared Model
Buat file:
composeApp/src/commonMain/kotlin/model/User.kt
Isi kode:
package model
data class User(
val id: Int,
val name: String,
val email: String
)
Model ini bisa digunakan di Android dan iOS.
Membuat Shared Repository
Buat file:
composeApp/src/commonMain/kotlin/repository/UserRepository.kt
Isi kode:
package repository
import model.User
class UserRepository {
fun getUsers(): List<User> {
return listOf(
User(1, "Isma Rianto", "isma@example.com"),
User(2, "Android Developer", "android@example.com"),
User(3, "iOS Developer", "ios@example.com")
)
}
}
Membuat Tampilan UI
Buka file:
composeApp/src/commonMain/kotlin/App.kt
Isi kode:
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import repository.UserRepository
@Composable
fun App() {
val repository = UserRepository()
val users = repository.getUsers()
MaterialTheme {
Column(
modifier = Modifier
.fillMaxSize()
.padding(16.dp)
) {
Text(
text = "Kotlin Multiplatform App",
style = MaterialTheme.typography.headlineMedium
)
Spacer(modifier = Modifier.height(16.dp))
LazyColumn {
items(users) { user ->
Card(
modifier = Modifier
.fillMaxWidth()
.padding(bottom = 12.dp)
) {
Column(modifier = Modifier.padding(16.dp)) {
Text(text = user.name)
Text(text = user.email)
}
}
}
}
}
}
}
Menjalankan di Android
Pilih target emulator Android, lalu klik:
Run > composeApp
Aplikasi akan tampil dengan daftar user dari shared code.
Menjalankan di iOS
Pastikan menggunakan macOS dan Xcode. Jalankan:
iosApp
Kemudian pilih simulator iPhone dan klik Run.
Menambahkan API Client
Untuk aplikasi real, biasanya data diambil dari REST API. Tambahkan dependency Ktor di Gradle:
commonMain.dependencies {
implementation("io.ktor:ktor-client-core:2.3.12")
implementation("io.ktor:ktor-client-content-negotiation:2.3.12")
implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.12")
}
Contoh API service:
package network
import io.ktor.client.*
import io.ktor.client.call.*
import io.ktor.client.request.*
import model.User
class ApiService(
private val client: HttpClient
) {
suspend fun getUsers(): List<User> {
return client.get("https://example.com/api/users").body()
}
}
Contoh Arsitektur KMP
UI Layer
↓
ViewModel
↓
Repository
↓
API Service / Database
↓
Shared Model
Untuk aplikasi enterprise, gunakan struktur:
commonMain/
├── data/
├── domain/
├── presentation/
├── network/
└── utils/
Tips Membuat Aplikasi KMP Enterprise
Gunakan prinsip berikut:
- Pisahkan business logic di
commonMain. - Gunakan native API hanya jika dibutuhkan.
- Gunakan repository pattern.
- Gunakan dependency injection.
- Gunakan unit test untuk shared code.
- Gunakan CI/CD untuk build Android dan iOS.
- Gunakan version catalog agar dependency rapi.
Contoh Fitur yang Bisa Dibuat
Kotlin Multiplatform bisa digunakan untuk:
- Aplikasi banking
- Asset tracking
- Inventory management
- E-commerce
- Project management
- Chat app
- Dashboard monitoring
- Aplikasi internal perusahaan
Prompt Gambar HD untuk Artikel
Gunakan prompt ini di AI image generator:
Gambar 1:
HD illustration of Kotlin Multiplatform app development, Android and iOS devices, modern developer workspace, clean UI, blue purple gradient, 4K
Gambar 2:
Professional software engineer coding Kotlin Multiplatform application on laptop, Android Studio interface, mobile app preview, ultra HD, realistic
Gambar 3:
Architecture diagram of Kotlin Multiplatform shared code for Android and iOS, clean modern tech style, 4K resolution
Kesimpulan
Kotlin Multiplatform adalah solusi modern untuk membuat aplikasi lintas platform dengan lebih efisien. Developer bisa berbagi kode utama seperti model, repository, business logic, network layer, dan bahkan UI menggunakan Compose Multiplatform. Dengan pendekatan ini, proses development Android dan iOS menjadi lebih cepat, rapi, dan mudah dikembangkan untuk kebutuhan enterprise.
Slug SEO:
tutorial-kotlin-multiplatform-android-ios
Tag:
Kotlin, Kotlin Multiplatform, Android, iOS, Compose Multiplatform, Mobile Development
0 komentar:
Posting Komentar