0Pricing
Kotlin Academy · Ders

KMM Proje Yapısı

Paylaşılan ve platform kodu

KMM Proje Yapısı, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kotlin Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Academy kursu toplamda 4 dersten oluşur.

KMM Nedir?

Kotlin Multiplatform Mobile (KMM), yerel kullanıcı arayüzlerini korurken kodu iOS ve Android arasında paylaşmanızı sağlar. İş mantığını Kotlin ile bir kez yazarsınız.

Paylaşılan Modül

Bir KMM projesinin merkezinde paylaşılan bir modül bulunur. Bu modül Android için bir JVM kitaplığına, iOS içinse yerel bir çerçeveye derlenir.

  • Android, bu modülü normal bir bağımlılık olarak kullanır
  • iOS, modülü Objective-C/Swift çerçevesi olarak içe aktarır

Kaynak Kümeleri

Paylaşılan modül kaynak kümelerine ayrılır:

  • commonMain — paylaşılan, platformdan bağımsız kod
  • androidMain — Android'e özgü kod
  • iosMain — iOS'a özgü kod

commonMain

commonMain yalnızca Kotlin standart kitaplığını ve çoklu platform kitaplıklarını kullanabilir. Doğrudan Android veya iOS API'lerine başvurmamalıdır.

// shared/src/commonMain/kotlin/Greeting.kt
class Greeting {
    fun greet(): String = "Hello, KMM!"
}

Hedefleri Yapılandırma

Paylaşılan build.gradle.kts dosyası, çoklu platform eklentisiyle hangi platformların derleneceğini bildirir.

kotlin {
    androidTarget()
    iosX64()
    iosArm64()
    iosSimulatorArm64()
}

iOS Çerçevesi

iOS hedefleri, Xcode'un içe aktardığı tek bir çerçevede birleştirilir.

kotlin {
    listOf(iosX64(), iosArm64(), iosSimulatorArm64()).forEach {
        it.binaries.framework {
            baseName = "Shared"
        }
    }
}

Ortak Bağımlılıklar

Çoklu platform kitaplıklarını (eş yordamlar, serileştirme, Ktor) commonMain içine ekleyerek bunları her hedefte paylaşın.

sourceSets {
    val commonMain by getting {
        dependencies {
            implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1")
        }
    }
}

Android Uygulama Modülü

Android uygulama modülü, diğer Gradle modülleri gibi shared modülüne bağımlıdır ve Android kullanıcı arayüzünü Jetpack Compose veya görünümlerle oluşturur.

// androidApp/build.gradle.kts
dependencies {
    implementation(project(":shared"))
}

iOS Uygulaması

iOS uygulaması standart bir Xcode projesidir. Oluşturulan Shared çerçevesine bağlanır ve Kotlin sınıflarını Swift'ten çağırır.

// Swift
// import Shared
// let text = Greeting().greet()

Neleri Paylaşmalı?

Genellikle paylaşılan kodlar şunlardır: ağ iletişimi, veri modelleri, depolar, kullanım senaryoları ve doğrulama. Kullanıcı arayüzünü, gezinmeyi ve platform sensörlerini yerel bırakın.

Kendi İçinde Çalışan Bir Selamlama

Paylaşılan mantık sıradan Kotlin kodudur. Bunun olağan bir kod olduğunu göstermek için aynı sınıf burada bağımsız olarak çalıştırılmıştır.

class Greeting {
    fun greet(): String = "Hello, KMM!"
}

fun main() {
    println(Greeting().greet())
}

Hızlı Kontrol

Herhangi bir Android veya iOS API başvurusundan bağımsız olması gereken kodu nereye yerleştirirsiniz?

Özet

KMM yapısını öğrendiniz:

  • commonMain, androidMain ve iosMain içeren bir shared modülü
  • Hedefler çoklu platform eklentisinde bildirilir; iOS bir çerçeve alır
  • Android, project(":shared") üzerinden bağımlı olur; iOS çerçeveyi içe aktarır

Sıradaki konu: expect ve actual.

Sıkça Sorulan Sorular

“KMM Proje Yapısı” dersi ücretsiz mi?

Evet — “KMM Proje Yapısı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kotlin Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Academy kursu toplamda 4 dersten oluşur.

“KMM Proje Yapısı” dersinde ne öğreneceğim?

Paylaşılan ve platform kodu Kotlin Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Kotlin Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Kotlin Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“KMM Proje Yapısı” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Kotlin Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Kotlin Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. KMM Proje Yapısı
  2. expect ve actual
  3. İş Mantığını Paylaşma
  4. Platform API'leri
← Kotlin Academy Sayfasına Dön