Kotlin/Native'e Genel Bakış: Hedefler, Araç Zinciri ve Derleme
Kullanılabilir Kotlin/Native hedeflerini öğrenin ve basit bir CLI ikilisi derleyin.
Kotlin/Native'e Genel Bakış: Hedefler, Araç Zinciri ve Derleme, 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.
Kotlin/Native Nedir
Kotlin/Native, Kotlin kaynak kodunu JVM veya Dalvik çalışma zamanı olmadan LLVM aracılığıyla doğrudan yerel makine koduna derler. Sonuç, kendi kendine yeterli bir ikili dosyadır; hedef makineye JVM kurulması gerekmez.
Desteklenen Hedefler
Kotlin/Native çok çeşitli hedefleri destekler:
- macOS / iOS:
macosX64,macosArm64,iosX64,iosArm64,iosSimulatorArm64 - Linux:
linuxX64,linuxArm64 - Windows:
mingwX64 - Gömülü sistemler / watchOS / tvOS: çeşitli hedefler
Derleme İşlem Hattı
Kotlin/Native'in derleme işlem hattı şöyledir: Kotlin kaynağı → Kotlin IR (ara gösterim) → LLVM IR → yerel ikili dosya. Bu süreci konanc derleyicisi yönetir; ancak uygulamada her zaman Kotlin Çoklu Platform Gradle eklentisini kullanırsınız.
Gradle'de Yerel Hedef Kurma
Bir Kotlin Çoklu Platform projesinde yerel hedefleri build.gradle.kts içinde bildirin:
kotlin {
macosArm64("macos") {
binaries {
executable { entryPoint = "main" }
}
}
linuxX64("linux") {
binaries { executable { entryPoint = "main" } }
}
}Yerel Hedefler İçin Kaynak Kümeleri
Yerel hedefler, diğer platformlarla commonMain/commonTest kaynak kümelerini paylaşır. Hedefe özgü kod, macosMain veya linuxX64Main gibi kaynak kümelerinde bulunur. Platforma özgü API'ler için expect/actual kullanın.
Çıktı İkili Dosya Türleri
Kotlin/Native çeşitli ikili dosya türleri üretebilir:
executable— bağımsız komut satırı programıstaticLib— C/C++ projelerine bağlanacak statik kitaplıksharedLib— dinamik (.dylib / .so / .dll) kitaplıkframework— iOS/macOS tümleştirmesi için Apple çatısı
Yerel Testleri Çalıştırma
Yerel testleri ./gradlew macosArm64Test komutuyla (veya ilgili hedef göreviyle) çalıştırın. Testler yerel bir ikili dosyaya derlenir ve ana makinede yürütülür; JVM kullanılmaz.
Çapraz Derleme Sınırlamaları
Kotlin/Native ile çapraz derleme sınırlıdır: Apple hedefleri için yalnızca macOS üzerinde derleme yapabilirsiniz (Xcode gereklidir). Linux ve Windows hedefleri, desteklenen herhangi bir ana makinede derlenebilir. Sürekli tümleştirme işlem hatları Apple hedefleri için genellikle macOS aracılarını kullanır.
klib Biçimi
Kotlin/Native kitaplıkları, Kotlin'in platformdan bağımsız kitaplık biçimi olan .klib dosyaları olarak dağıtılır. Bağımlılıklar .klib dosyaları olarak çözümlenir ve derleme zamanında son ikili dosyaya bağlanır.
KMP iOS Uygulamasında Kotlin/Native
Standart bir Kotlin Çoklu Platform Mobil (KMM) projesinde paylaşılan kod, Xcode'un iOS uygulamasına bağladığı bir Apple framework'üne derlenir. Swift/Objective-C kodu, oluşturulan üstbilgiler aracılığıyla Kotlin API'lerini çağırır.
Performans Özellikleri
Yerel ikili dosyalar anında başlar (JVM başlangıcı yoktur), daha küçük bir bellek ayak izine sahiptir ve komut satırı araçları, sunucu tarafı Linux uygulamaları ve iOS/macOS için paylaşılan mantık açısından uygundur. Uzun süre çalışan JVM uygulamaları, JIT iyileştirmeleri sayesinde Native'i geçebilir; ancak başlangıç ve bellek avantajları, birçok kullanım alanında yerel derlemeyi daha uygun kılar.
Kısa Kontrol
Kotlin/Native'den bir iOS Xcode projesinde kullanılmak üzere Apple çatısı üreten Gradle ikili dosya türü hangisidir?
Özet: Kotlin/Native'e Genel Bakış
Temel çıkarımlar:
- Kotlin/Native, LLVM aracılığıyla yerel makine koduna derlenir; JVM gerekmez
- macOS, iOS, Linux, Windows, watchOS ve tvOS hedeflerini destekler
- Hedefleri ve ikili dosya türlerini KMP Gradle eklentisinde yapılandırın
- Apple hedefleri için macOS + Xcode gerekir; çapraz derlemenin platforma özgü kısıtlamaları vardır
- Kitaplıklar
.klibolarak dağıtılır; iOS tümleştirmesiframeworkikilisi aracılığıyla yapılır
Sıkça Sorulan Sorular
“Kotlin/Native'e Genel Bakış: Hedefler, Araç Zinciri ve Derleme” dersi ücretsiz mi?
Evet — “Kotlin/Native'e Genel Bakış: Hedefler, Araç Zinciri ve Derleme” 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.
“Kotlin/Native'e Genel Bakış: Hedefler, Araç Zinciri ve Derleme” dersinde ne öğreneceğim?
Kullanılabilir Kotlin/Native hedeflerini öğrenin ve basit bir CLI ikilisi derleyin. 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.
“Kotlin/Native'e Genel Bakış: Hedefler, Araç Zinciri ve Derleme” 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
- Kotlin/Native'e Genel Bakış: Hedefler, Araç Zinciri ve Derleme
- Kotlin/Native'de Bellek Yönetimi: Yeni MM
- cinterop ve .def Dosyalarıyla C Birlikte Çalışabilirliği
- Kotlin/WASM: Tarayıcı için WebAssembly'ye Derleme