Kotlin/Native
- Kotlin kursu
- Uzman
- Ders 19/47
- 5 dk
Kotlin/Native ile native derleme öğrenirsin.
Kotlin/Native nedir?
Kotlin/Native, Kotlin kodunu JVM olmadan yerel bir ikili (binary) dosyaya derleyen bir teknolojidir. LLVM tabanlıdır; iOS, macOS, Linux ve Windows hedeflerini destekler.
Bir Kotlin/Native projesi Gradle'da kotlin("multiplatform") plugin'i ile başlar; hedefler iosArm64(), linuxX64() gibi bloklarla eklenir. Çıktı, ya bir çalıştırılabilir dosya ya da bir kütüphane (framework, .so, .dylib) olur. Başlangıç süresi yoktur; küçük ikili dosyalar oluşturur. Bu derste basit bir platformInfo fonksiyonuyla konsepti modelleyeceğiz.
Hedef platformlar
Kotlin/Native, çok çeşitli hedefleri destekler: iOS (arm64), macOS, Linux (x64, arm64), Windows (x64, mingw) ve gömülü sistemler.
Her hedef Gradle'da ayrı bir blokla eklenir; örn. iosArm64() iPhone için, linuxX64() Linux masaüstü için. Çıktı hedefe göre değişir: iOS'ta framework, Linux'ta ELF ikilisi, Windows'ta PE ikilisi. Bir projede birden fazla hedef aynı anda bulunabilir; bu, Kotlin Multiplatform'un temelidir. Hedef bağımlılıkları sourceSets ile yönetilir.
Uygulama platformInfo yaz
fun platformInfo(): String tanımla. "Kotlin/Native" döndürsün. main içinde println(platformInfo()) yaz.
Başlangıç kodu
// platformInfo fonksiyonunu ekle
fun main() {
// platform bilgisini yazdır
}Örnek çözüm
fun platformInfo(): String = "Kotlin/Native"
fun main() {
println(platformInfo())
}Beklenen çıktı
Kotlin/Native
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Kotlin/Native hangi altyapıyı kullanır?
- LLVM Doğru cevap
- CLR
- JVM
- V8
Açıklama: Kotlin/Native LLVM üzerine kuruludur; yerel ikili üretir.
2 platformInfo metodunu tamamla
fun ____(): String = "Kotlin/Native"
fun platformInfo(): String = "Kotlin/Native"
Açıklama: platformInfo() yerel hedefi bildirir.
3 Native parçalarını eşle
| Kavram | Anlamı |
|---|---|
kotlin("multiplatform") |
Gradle plugin |
iosArm64() |
iPhone hedefi |
linuxX64() |
Linux hedefi |
LLVM |
Derleme altyapısı |