commonMain
- Kotlin kursu
- Uzman
- Ders 26/47
- 5 dk
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
// commonGreet fonksiyonunu ekle
fun main() {
// commonMain selamını yazdır
}Örnek çözüm
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
____ fun platformName(): String
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?
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.