CodeBlanks Logo Icon CodeBlanks

commonMain

commonMain ile paylaşılan kod öğrenirsin.

commonMain nedir?

commonMain, KMP'de paylaşılan kodun yer aldığı kaynak kümesidir. Buraya yazılan kod her hedef tarafından kullanılabilir.

commonMain içinde Kotlin stdlib, veri sınıfları, fonksiyonlar ve expect bildirimleri yer alabilir. Platforma özgü API'ler (iOS framework, JVM sınıfları) burada kullanılamaz. Onun yerine expect ile bir sözleşme yazılır, her hedef actual ile uygular. Bu sayede paylaşılan mantık tek yerde durur.

commonMain bağımlılıkları

commonMain'in bağımlılıkları Gradle'da commonMain { dependencies { ... } } bloğu ile eklenir. Buraya yazılan kütüphaneler her hedef tarafından paylaşılır.

Örneğin Ktor client, kotlinx.coroutines veya kotlinx.serialization commonMain'de eklenebilir. Platform kütüphaneleri ise ilgili hedefin kümesine eklenir. Bu ayrım, paylaşılan mantığın temiz kalmasını sağlar. commonMain'de yalnızca multiplatform uyumlu kütüphaneler kullanılabilir.

Uygulama commonGreet yaz

fun commonGreet(): String tanımla. "Hello from commonMain" döndürsün. main içinde println(commonGreet()) yaz.

Başlangıç kodu

Main.kt
// commonGreet fonksiyonunu ekle

fun main() {
    // commonMain selamını yazdır
}

Örnek çözüm

Main.kt
fun commonGreet(): String = "Hello from commonMain"
fun main() {
    println(commonGreet())
}

Beklenen çıktı

Hello from commonMain

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 expect bildirimini tamamla

Soru
____ fun platformName(): String
Cevap
expect fun platformName(): String

Açıklama: expect, commonMain'de sözleşme bildirir.

2 commonMain parçalarını eşle

Kavram Anlamı
commonMain Paylaşılan kaynak
expect Sözleşme
actual Uygulama
kotlinx.coroutines Paylaşılan kütüphane

3 commonMain kaynak kümesinin görevi nedir?

Main.kt
commonMain is the hub of sharing.
  • Platform kodu yazmak
  • Sınıfları döndürmak
  • Test yazmak
  • Paylaşılan kodu tutmak Doğru cevap

Açıklama: commonMain paylaşılan kodu tutar; platform kodu hedef kümelerine gider.

Uzman bölümündeki tüm dersler