Skip (Swift on Android) vs Kotlin Multiplatform Karşılaştırması

SwiftUI kodunla iOS ve Android'e aynı anda çık

VS
Kotlin Multiplatform

Kotlin dili 2012'den beri; KMP üretim-hazır paylaşımlı mantık + native UI modeli

11 dk okumaCross-Platform

Hızlı Karar

Kanıtlar "kazanan" değil, "kime göre" veriyor: Swift 6.3'ün resmî SDK'sı ve Skip'in ücretsiz dönüşü, "Kotlin öğrenmeden Android'e çıkmak"ı ilk kez savunulabilir kıldı. Üretim ölçeğinde KMP hâlâ önde: Duolingo, Google, McDonald's, Netflix gibi vakalar var. Skip'in galerisinde 24 isimli uygulama var ama yayımlanmış ölçek/metrik yok. Küçük ekipsen ve Kotlin'e zamanın yoksa Skip'i dene; kurumsal ve risk toleransın düşükse KMP güvenli seçim.

Skip (Swift on Android)Kotlin Multiplatform
Tam sonucu oku

Puan Karşılaştırması

Grafik yükleniyor...

Detaylı Puanlama

Detaylı Puanlama: Skip (Swift on Android) ve Kotlin Multiplatform — kategori bazında 10 üzerinden puanlar
KategoriSkip (Swift on Android)Kotlin Multiplatform
Performans
8/10
9/10
Öğrenme Kolaylığı
6/10
6/10
Ekosistem
6/10
9/10
Topluluk
5/10
9/10
İş Pazarı
4/10
8/10
Gelecek
7/10
9/10

Artıları & Eksileri

Skip (Swift on Android)

Artıları

  • Kotlin öğrenmeden Swift/SwiftUI bilgisiyle native Android uygulaması üretebilirsin
  • 21 Ocak 2026'dan beri tamamen ücretsiz ve MPL-2.0 ile açık kaynak, lisans anahtarı yok
  • Android'de gerçek Jetpack Compose ağacı üretir, ayrı bir widget hiyerarşisi yok
  • iOS tarafı Skip olmayan bir projeyle aynı Xcode/SwiftUI kod tabanı; iOS'a ek çalışma zamanı, yorumlayıcı ya da çöp toplayıcı eklenmiyor
  • Fuse modu Swift 6.3'ün resmî Android SDK'sını kullanır, ek yorumlayıcı/GC katmanı yok
  • Lite modu Kotlin/Java kütüphaneleriyle interop imkânı sunar
  • Mevcut iOS projesine 'Library' modeliyle kademeli, düşük riskli entegrasyon mümkün
  • Aktif geliştirme temposu: ana paket ve motor sık, granüler sürümlerle güncelleniyor

Eksileri

  • Resmî galeride isimli referanslar var ama yayımlanmış ölçek/metrik yok; KMP'nin kurumsal logo listesi kadar geniş değil
  • Fuse modunda debugger/sourcekit-lsp entegrasyonu henüz olgunlaşmamış
  • Minimal örnek uygulamanın APK boyutu ~80 MB, dikkatli bütçelenmeli
  • Store'dan kurulu sürüm üstüne developer build kurulumu imza uyuşmazlığıyla başarısız olabilir
  • Lite modunda bazı Swift dil özellikleri (generic pattern'ler, operator overload) Kotlin'e eşlenemeyebilir
  • Ekosistem ve kütüphane erişimi KMP'ye göre daha dar

En Uygun

Kotlin öğrenmeye zaman ayıramayan tek kişilik/küçük iOS ekipleriMevcut SwiftUI kod tabanını büyük ölçüde koruyarak Android'e açılmak isteyen ekiplerDüşük riskli, izole bir modülle pilot yapmak isteyen projelerMevcut Kotlin/Java kütüphanelerine ihtiyaç duyan (Lite modu) projeler

Kotlin Multiplatform

Artıları

  • Kotlin dili 2012'den beri JetBrains'te, KMP 2023'te Stable oldu; Apache 2.0 ile ücretsiz ve açık kaynak
  • Duolingo, Google, McDonald's, Netflix, Workday gibi isimli üretim referansları var
  • IntelliJ IDEA ve Android Studio'da tam kutudan-çıkma IDE desteği
  • klibs.io üzerinden geniş, olgun bir üçüncü taraf kütüphane ekosistemi
  • expect/actual mekanizmasıyla kademeli, modül bazında paylaşım mümkün
  • Android tarafında Kotlin'in birinci sınıf dil statüsü sayesinde daha 'yerli' konum
  • Düzenli, öngörülebilir sürüm kadansı (dil 6 ayda bir, tooling 3 ayda bir)
  • Kotlin 2.4.0'dan itibaren JVM stdlib için 18 aylık resmî destek penceresi

Eksileri

  • iOS ekibi için yeni bir dil (Kotlin) ve yeni bir zihniyet öğrenme maliyeti
  • Compose Multiplatform iOS'ta sistem widget'larını değil, kendi Skia tabanlı render motorunu kullanır — piksel düzeyinde native SwiftUI değildir
  • expect/actual ve platform-özel kod ayrımı büyük projelerde ek disiplin gerektirir
  • Derleme süreleri, özellikle çoklu hedef (iOS+Android+diğer) projelerde uzayabilir

En Uygun

Düşük risk toleransıyla kanıtlanmış üretim ölçeği arayan kurumsal ekiplerAndroid tarafında zaten güçlü ya da kurulacak Kotlin mühendisliği olan ekiplerGeniş üçüncü taraf kütüphane erişimi kritik olan projelerUzun vadeli, çok platformlu (Android, iOS, Web, Desktop, Server) strateji kuran ekipler

Kod Karşılaştırması

Skip (Swift on Android)
// Skip: Xcode + Android Studio kurulu bir makinede kurulum ve yeni proje
// Kaynak: https://skip.dev/docs/gettingstarted/ + https://skip.dev/docs/skip-cli/

// 1) Skip araç zincirini kur (Homebrew)
brew install skip

// 2) Ortamı doğrula (Xcode, Android Studio, Java, Gradle sürümleri)
skip checkup

// 3) Yeni bir Skip App projesi oluştur (Fuse modu, iOS+Android).
// `skip create` tamamen interaktiftir, bayrak almaz; non-interaktif karşılığı `skip init`:
skip init --native-app --appid=com.example.HelloSkip hello-skip HelloSkip

// 4) Mevcut bir iOS uygulamasına Library modeliyle Android eklemek istiyorsan:
// paylaşılan mantığı ayrı bir native kütüphane modülüne çıkar
skip init --native-model shared-feature SharedFeature

// Ortaya çıkan SwiftUI view'ı olağan bir iOS SwiftUI view'ı gibi yazıyorsun:
import SwiftUI

struct ContentView: View {
    @State private var count = 0

    var body: some View {
        VStack(spacing: 16) {
            Text("Skip ile Android'e çıkış")
                .font(.title2)
            Text("Sayaç: \(count)")
            Button("Artır") {
                count += 1
            }
            .buttonStyle(.borderedProminent)
        }
        .padding()
    }
}

// 5) Android tarafında derle ve çalıştır (Gradle üzerinden, arka planda
// SwiftUI view ağacı Jetpack Compose çağrılarına dönüştürülür).
// Ön koşul: emülatörü kendin başlat — `skip app launch` senin yerine başlatmaz.
cd hello-skip
skip android emulator launch
skip app launch --android
Kotlin Multiplatform
// Kotlin Multiplatform: paylaşılan mantık + expect/actual
// Kaynak: https://kotlinlang.org/docs/multiplatform/get-started.html

// commonMain/kotlin/Counter.kt — tüm platformlarda paylaşılan mantık
class Counter {
    private var value: Int = 0
    fun increment(): Int { value += 1; return value }
    fun current(): Int = value
}

// commonMain/kotlin/Platform.kt
expect fun platformName(): String

// androidMain/kotlin/Platform.android.kt
actual fun platformName(): String = "Android ${android.os.Build.VERSION.SDK_INT}"

// iosMain/kotlin/Platform.ios.kt
import platform.UIKit.UIDevice
actual fun platformName(): String =
    UIDevice.currentDevice.systemName() + " " + UIDevice.currentDevice.systemVersion

// Android tarafında Compose UI, paylaşılan Counter'ı kullanır
@Composable
fun CounterScreen(counter: Counter) {
    var count by remember { mutableStateOf(counter.current()) }
    Column(modifier = Modifier.padding(16.dp)) {
        Text("Kotlin Multiplatform ile paylaşılan mantık")
        Text("Sayaç: $count")
        Button(onClick = { count = counter.increment() }) { Text("Artır") }
    }
}

// build.gradle.kts (module: shared)
kotlin {
    androidTarget()
    listOf(iosX64(), iosArm64(), iosSimulatorArm64()).forEach {
        it.binaries.framework { baseName = "Shared" }
    }
    sourceSets {
        commonMain.dependencies {
            implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0")
        }
    }
}

Sonuç

Kanıtlar "kazanan" değil, "kime göre" veriyor: Swift 6.3'ün resmî SDK'sı ve Skip'in ücretsiz dönüşü, "Kotlin öğrenmeden Android'e çıkmak"ı ilk kez savunulabilir kıldı. Üretim ölçeğinde KMP hâlâ önde: Duolingo, Google, McDonald's, Netflix gibi vakalar var. Skip'in galerisinde 24 isimli uygulama var ama yayımlanmış ölçek/metrik yok. Küçük ekipsen ve Kotlin'e zamanın yoksa Skip'i dene; kurumsal ve risk toleransın düşükse KMP güvenli seçim.

Ücretsiz Danışmanlık Al
SSS

Sıkça Sorulan Sorular

Evet. Swift 6.3 (24 Mart 2026) itibarıyla resmî bir Swift SDK for Android var ve Swift paketlerin doğrudan Android hedefi için derlenebiliyor. Skip gibi araçlar bunun üzerine SwiftUI view'larını gerçek Jetpack Compose arayüzüne dönüştürerek pratik bir geliştirme akışı sunuyor. Kaynak: swift.org/blog/swift-6.3-released.

Giriş

iOS ekibindeysen ve Android'e de çıkman gerekiyorsa, 2026'ya kadar iki yolun vardı: Kotlin öğrenmek ya da ayrı bir Android ekibi kurmak. Bu yıl üçüncü bir yol ciddiye alınabilir hâle geldi: Swift'in kendisiyle Android'e çıkmak. 24 Mart 2026'da Swift 6.3, "Swift SDK for Android"ı resmî hedef ilan etti — Skip'in ortak kurduğu Swift on Android Working Group'un çalışmasıyla. 21 Ocak 2026'da Skip de dönüşümünü duyurmuştu: lisans anahtarı olmadan tamamen ücretsiz ve açık kaynak. Sorun şu: Swift/SwiftUI bilginle, Kotlin yazmadan, gerçek native bir Android uygulaması çıkarabilir misin? Karşıda Kotlin Multiplatform duruyor — JetBrains'in 2012'den beri geliştirdiği Kotlin diline dayanan, 2023'te Stable ilan edilen, Duolingo'dan Google'a referanslı bir model. Bu sayfada ikisini kaynak dil, UI gerçekliği, resmî destek, maliyet ve referans sayısı ekseninde karşılaştırıyoruz. Kısa cevap: kurumsal ekipler için KMP hâlâ güvenli seçim; Kotlin öğrenmeden Android'e açılmak isteyen küçük ekipler için Skip 2026'da ilk kez savunulabilir.

Karşılaştırma Matrisi

Karşılaştırma Matrisi: Skip (Swift on Android) / Kotlin Multiplatform
ÖzellikSkip (Swift on Android)Kotlin Multiplatform
Kaynak dilSwiftKotlin
LisansMPL-2.0 (21 Oca 2026'dan beri ücretsiz)Apache 2.0 (baştan beri ücretsiz)
İlk çıkışSkip reposu 2023Kotlin dili 2012; KMP Stable Kas 2023 (Kotlin 1.9.20) (Öne çıkan)
GitHub yıldızıskiptools/skip: 3.224JetBrains/kotlin (dil reposu): 53.449 (Öne çıkan)
Android UI motoruGerçek Jetpack Compose (Compose-first)Gerçek Jetpack Compose (Compose Multiplatform)
iOS UI motoruNative SwiftUI/UIKit (Öne çıkan)Skia render (Compose Multiplatform kullanılırsa)
Resmî Android SDK statüsüSwift 6.3 ile resmî (Mar 2026)N/A (Kotlin zaten Android'in birinci sınıf dili)
Kurumsal referans sayısıskip.dev/gallery: 24 uygulama (Polymarket, ServiceM8, MediQuo, Naturitas)Duolingo, Google, McDonald's, Netflix, Forbes, Philips vb. — metrikli vaka çalışmaları (Öne çıkan)
IDE desteğiXcode + Android Studio (Skip toolchain)IntelliJ IDEA + Android Studio (tam kutudan-çıkma) (Öne çıkan)
Kütüphane ekosistemiSkip modülleri + Fuse'da Android'e derlenen binlerce SPM paketiklibs.io + JVM/Java mirası (daha geniş, olgun) (Öne çıkan)
Debugger/LSP olgunluğuFuse modunda henüz eksikOlgun (Kotlin/JVM araç zinciri) (Öne çıkan)
Öğrenme eğrisi (Swift ekibi için)Düşük (mevcut Swift bilgisi yeterli) (Öne çıkan)Orta-yüksek (yeni dil)
Kademeli entegrasyonLibrary modeliyle mümkünexpect/actual ile mümkün
APK boyutu (minimal örnek)~80 MB (HelloSkip)Karşılaştırılabilir resmî rakam yayımlanmıyor
Sürüm kadansıSık, granüler (haftalık patch'ler)Öngörülebilir (6 ay dil / 3 ay tooling)

Derinlemesine İnceleme

Skip (Swift on Android)

Genel Bakış

Skip, 2023'te skiptools ekibince başlatılan, "native SwiftUI apps for iOS and Android" üretmeyi hedefleyen bir araç zinciri. Fikir basit: Swift/SwiftUI ile yazdığın bir uygulamayı, ek dil öğrenmeden Android'de native çalıştırmak. 21 Ocak 2026'da Skip, paralı abonelik modelini terk edip MPL-2.0 ile açık kaynak oldu. Skip iki modda çalışır: Fuse, Swift 6.3'ün resmî Android SDK'sını kullanarak Swift'i native koda derler; Lite ise Swift'i derleme zamanında Kotlin'e dönüştürür ve mevcut Kotlin/Java kütüphaneleriyle interop sağlar. Skip, Şubat 2025'te kurulan Swift on Android Working Group'un kurucu üyelerinden. Skip'in en güçlü iddiası, Android UI tarafında "Compose-first" olması: SwiftUI view ağacı doğrudan Jetpack Compose çağrılarına dönüşüyor. En büyük eksiği ise olgunluk kanıtı: resmî galeride 24 isimli uygulama var (Polymarket, ServiceM8, MediQuo, Naturitas) ama yayımlanmış ölçek/metrik yok, debugger/LSP deneyimi native modda henüz tam gelişmemiş.

Ekosistem

Paket yöneticisi
Swift Package Manager
Geliştirme ortamı
XcodeAndroid Studio
Popüler kütüphaneler
skip-modelskip-firebaseskip-sentryskip-supabaseskip-sql
GitHub yıldızı
3,224

Üretimde Kullanım

  • Polymarket

    Polymarket (iOS + Android)

    Skip'in resmî galerisinde Finance kategorisinde, 2024'ten beri listelenen tahmin piyasası uygulaması; iOS ve Android ekran görüntüleriyle birlikte yayımlanıyor.

  • ServiceM8 (Eroldawn Pty Ltd)

    ServiceM8 Lite for Android

    Saha ekipleri için hazırlanan Android yardımcı uygulaması Skip ile yazılmış; tam iOS uygulamasının yanında çalışıyor.

  • Medipremium

    MediQuo Medical Chat

    Barselona merkezli telemedicine uygulaması; galeri sayfasına göre İspanya ve Latin Amerika'da yaygın kullanılıyor.

  • Naturitas

    Naturitas: Natural Health

    Galeri sayfasının kendi ifadesiyle Skip teknolojisini kullandığı kamuya açık olarak bilinen en büyük üretim dağıtımı; 30.000'den fazla ürünlük katalog iOS ve Android'de sunuluyor.

Kotlin Multiplatform

Genel Bakış

Kotlin Multiplatform (KMP), JetBrains'in 13 Şubat 2012'de doğan Kotlin dilinin üzerine inşa ettiği, iş mantığını Android, iOS, Web, Desktop ve Server arasında paylaşmayı amaçlayan bir teknoloji. Model: "paylaşılan iş mantığı + platforma özel native UI" — ortak kod commonMain'de yazılır, platforma özel davranış expect/actual ile ayrılır. Kotlin, Apache 2.0 lisanslı ve baştan beri ücretsiz. Sürüm kadansı öngörülebilir: dil sürümleri 6 ayda, tooling sürümleri 3 ayda bir çıkıyor (güncel: 2.4.20, 7 Eylül 2026). KMP'nin en güçlü kartı, kanıtlanmış üretim ölçeği: JetBrains'in vaka çalışmaları sayfası Duolingo, Google, McDonald's, Netflix, Workday gibi isimli referansları listeliyor. Ekosistem tarafında klibs.io üzerinden geniş bir kütüphane havuzu ve tam IDE desteği var. Dezavantajı: iOS ekipleri için yeni bir dil öğrenme maliyeti ve Compose Multiplatform kullanıldığında iOS'ta Skia render'a geçiş.

Ekosistem

Paket yöneticisi
Gradle (Kotlin DSL)
Geliştirme ortamı
Android StudioIntelliJ IDEA
Popüler kütüphaneler
Ktorkotlinx.coroutineskotlinx.serializationSQLDelightKoin
GitHub yıldızı
53,449

Üretimde Kullanım

  • Duolingo

    Duolingo (iOS + Android)

    JetBrains vaka çalışmalarında client platform ekibi, KMP'yi dahili olarak ne kadar çok kullanırlarsa sürüm çıkarma hızlarının o kadar arttığını anlatıyor.

  • McDonald's (Umain)

    McDonald's app

    Önce ödeme özelliğinde denenen KMP, başarıdan sonra uygulamanın tamamına yayıldı; ekip lansman sonrası her iki platformda daha az çökme ve daha iyi performans bildiriyor.

  • Netflix

    Netflix mobil stüdyo uygulamaları

    KMP, stüdyo uygulamalarında mantığı paylaşmak için kullanılıyor; tekrar eden kodu azaltarak daha hızlı ve güvenilir geliştirme sağlıyor.

  • Forbes

    Forbes (iOS + Android)

    iOS ve Android arasında mantığın %80'inden fazlasını paylaşan ekip, yeni özellikleri iki platformda eşzamanlı yayımlıyor, platforma özel özelleştirme esnekliğini koruyarak.

  • Bolt

    Bolt mobil uygulamaları

    Chat yeniden bağlanma özelliğiyle küçük başlayıp tüm sohbet motorunu KMP'ye taşıdılar; ekip büyütmeden platformlar arası özellik geliştirebildiklerini söylüyorlar.

  • Philips

    Philips mobil uygulamaları

    Yazılım mimarları, KMP'den önce sık duydukları "iOS'ta farklı çalışıyor" cümlesini artık duymadıklarını aktarıyor.

Teknik Analiz

Kaynak dil ve mevcut ekip becerisi

Bu kriter en belirleyici olanı, çünkü diğer her şey buna bağlı şekilleniyor. Skip'i seçtiğinde, tek satır Kotlin yazmadan gidebilirsin. Skip'in resmî tanımına göre amaç "native SwiftUI apps for iOS and Android" üretmek — SwiftUI view hiyerarşini ve Swift'in tip sistemini kullanmaya devam edersin. iOS tarafındaki proje, Skip olmayan bir iOS-only ekibin üreteceğiyle aynı Xcode projesi; Skip'in kendi dokümantasyonunun ifadesiyle Swift "ek çalışma zamanı, yorumlayıcı ve iOS'ta çöp toplayıcı olmadan" derleniyor, SwiftUI Apple platformlarında olduğu gibi çalışıyor. Kotlin Multiplatform'da tersi işliyor: Kotlin öğreniyorsun, paylaşılan mantığı Kotlin'de yazıyorsun. Bu, Android tarafında daha "yerli" bir konum sağlıyor — Kotlin zaten Android'in birinci sınıf dili ve IntelliJ IDEA/Android Studio'da tam destek görüyor. Pratik sonuç: ekibinde güçlü Swift bilgisi var ve Kotlin öğrenmeye isteğin yoksa Skip bir kısayol. Android tarafında da güçlü mühendislik olacaksa Kotlin'i er ya da geç öğrenmen gerekecek — bu durumda KMP daha uzun vadeli yatırım.

Android tarafında üretilen UI: gerçek Compose mu, taklit mi?

Bu, insanların en çok yanıldığı kriter — çünkü her iki taraf da "native Compose UI" iddiasında. Skip, 4 Haziran 2026 tarihli blog yazısında bunu netleştiriyor: "There is no parallel widget hierarchy or custom renderer... The Compose tree is the Android UI." Yani senin SwiftUI view'ların, derleme zamanında gerçek Jetpack Compose çağrılarına dönüşüyor. Bu iddia, aynı hafta Google I/O 2026'da Android UI'ın "Compose First" konumlandırmasıyla da örtüşüyor. Kotlin Multiplatform + Compose Multiplatform tarafında da Android'de gerçek Compose kullanılıyor — bu konuda ayrım yok. Fark iOS tarafında ortaya çıkıyor: Compose Multiplatform iOS'ta kendi render motorunu (Skia tabanlı) kullanıyor, yani sistem widget'ları değil çizilen bir arayüz söz konusu. Pratik sonuç: Android'de "gerçek native görünüm" ekseninde ikisi de gerçek Compose üretiyor. Asıl fark iOS tarafında: Skip gerçek SwiftUI/UIKit kullanırken, Compose Multiplatform kendi çizim motoruna geçiyor.

Resmî destek ve uzun vadeli dayanıklılık

Bu kriterde iki taraf da 2026'da güçlü bir "resmiyet" kartı oynuyor, ama farklı ölçeklerde. Swift Android SDK'nın resmiyeti taze: Swift 6.3, 24 Mart 2026'da bunu Static Linux/WebAssembly SDK'larıyla aynı statüde duyurdu. Ama Swift-on-Android 2026'da doğmadı — Swift.org'un Aralık 2025 tarihli yazısına göre resmî SDK öncesinde de Spark, flowkey, MediQuo gibi uygulamalar "millions of times" indirilen ölçekte production'daydı, homegrown interop katmanlarıyla. Kotlin Multiplatform'un dayanıklılığı farklı bir kanıta dayanıyor: süre ve ölçek. Kotlin 13 Şubat 2012'de doğdu, Apache 2.0 lisanslı ve düzenli bir kadansla gelişiyor (güncel tooling sürümü 2.4.20, 7 Eylül 2026). JetBrains'in vaka çalışmaları sayfası Duolingo, Google, McDonald's, Netflix, Forbes, Philips gibi isimli referansları, kendi sözleriyle anlatılmış sonuçlarla listeliyor. Skip'in de resmî bir galerisi var — 24 uygulama, aralarında Polymarket, ServiceM8, MediQuo ve Naturitas — ama bu sayfalar ölçek/sonuç metriği yayımlamıyor. Pratik sonuç: "resmî statü" ekseninde ikisi de güçlü; "kanıtlanmış üretim geçmişi" ekseninde KMP belirgin biçimde önde.

Lisans ve maliyet: eksen nötrleşti

Bu kriter 2026 öncesinde Skip'in aleyhine en büyük fark yaratan eksendi — artık öyle değil. 21 Ocak 2026'ya kadar Skip paralı bir abonelik ve lisans anahtarı gerektiriyordu. O gün bu tamamen değişti: Skip'in kendi duyurusuna göre "As of Skip 1.7, all licensing requirements have been removed. No license keys, no... trial or evaluation period." Skipstone motoru da aynı gün açık kaynak yapıldı, proje skip.tools'tan skip.dev'e taşındı. GitHub API'de doğrulanan lisans mpl-2.0. Skip'in gerekçesi de dikkat çekici: "Even if the core team disappeared, the community could continue supporting the technology." — küçük bir şirkete bağımlılık riskini hedef alan bir konumlandırma. Kotlin Multiplatform'da bu eksende değişim yok — Kotlin başından beri Apache 2.0 ile ücretsiz. Pratik sonuç: 2026 öncesi "Skip paralı, KMP ücretsiz" diye düşünüyorsan artık geçerli değil — ikisi de tamamen ücretsiz. Asıl fark artık maliyette değil, olgunluk ve ölçekte.

Fuse mı, Lite mi? Skip'in içindeki karar

Skip'i değerlendirirken sık yapılan bir hata var: Skip'i tek bir teknoloji sanmak. Aslında iki ayrı çalışma modu var. **Skip Fuse**, Swift 6.3'ün resmî Android SDK'sını kullanan native yol. Swift kodun doğrudan native makine koduna derleniyor, ek yorumlayıcı ya da çöp toplayıcı yok. Bu yol daha genç — resmiyeti Mart 2026'dan bu yana var — ve debugger/sourcekit-lsp entegrasyonu Swift.org'un Aralık 2025 yazısına göre "yüksek öncelikli ama eksik". **Skip Lite** ise daha eski ve olgun: Swift kaynağını derleme zamanında Kotlin'e dönüştürüyor, mevcut Kotlin/Java kütüphaneleriyle interop sağlıyor. Dezavantajı: Skip'in dokümantasyonuna göre "bazı dil özellikleri (generic pattern'ler, operator overload'lar) Kotlin'e eşlenemez". Bu iki mod proje içinde modül bazında karışık kullanılabilir. Kotlin Multiplatform'da böyle bir ayrım yok — paylaşılan kod her platformda aynı mekanizmayla derleniyor. Pratik sonuç: Skip'i seçiyorsan "hangi modda?" sorusunu proje başında netleştirmelisin — Kotlin/Java erişimi önemliyse Lite, tam Swift desteği önemliyse Fuse.

Kademeli eklenebilirlik ve mevcut projeye entegrasyon

Sıfırdan yazmak zorunda kalmadan mevcut bir iOS uygulamasına Android desteği eklemek istiyorsan, bu kriter seni doğrudan ilgilendiriyor. Skip'in dokümantasyonu bu senaryoyu doğrudan destekliyor: "Use Skip for bits of shared logic and UI, for your entire app, or anything in between." Önerilen yol: ortak iş mantığını ayrı bir Swift paketine çıkarıp "separate apps" modeliyle hem mevcut iOS projesine hem yeni Android projesine bağlamak. Kurulum akışı hafif: brew install skipskip checkupskip create. Kotlin Multiplatform da bu modelle biliniyor — expect/actual mekanizmasıyla platforma özel kodu ayırıp geri kalanı paylaşmak, KMP'nin temel tasarım felsefesi. Bu model sektörde iyi belgelenmiş ve Duolingo gibi vakalarda uygulanmış. Pratik sonuç: ikisi de "büyük patlama" gerektirmiyor. Skip'in avantajı Swift'te kalmana izin vermesi; KMP'nin avantajı bu modelin çok daha uzun süredir test edilmiş olması.

Ekosistem, kütüphaneler ve build gerçekleri

Son kriter grubu, günlük geliştirme deneyimini doğrudan belirliyor. Skip'in entegrasyon modülleri Release Notes sayfasında görülebiliyor ve aktif: ana skip paketi 1.9.11, skipstone motoru 1.9.11, skip-sentry 0.1.2 (Eylül 2026) — sık, granüler sürümler. Ama build/debug süresi için resmî bir benchmark bulunamadı. Bilinen somut maliyet: Skip'in minimal "HelloSkip" örneğinin Android APK'sı yaklaşık 80 MB. Skip'in kütüphane erişimi yalnız kendi modülleriyle sınırlı değil: Fuse modu için dokümantasyon aynen "Thousands of Swift packages already compile for Android" diyor ve Swift Package Index'in Android filtresine bağlanıyor — bu paketleri Skip modülüne çevirmeden doğrudan kullanabiliyorsun. Lite modunda ise transpile edilmiş üçüncü parti kütüphane sayısı gerçekten az. Kotlin Multiplatform'un kütüphane ekosistemi klibs.io üzerinden kataloglanan çok daha geniş bir havuza dayanıyor — Kotlin'in JVM/Android kökeni sayesinde mevcut Java/Kotlin kütüphanelerine doğrudan erişim mümkün. IntelliJ IDEA ve Android Studio'da tam IDE desteği de günlük sürtünmeyi azaltıyor. Skip tarafında bir başka tuzak: GitHub issue #635'e göre, USB debugging açık bir cihazda store-kurulu bir Skip uygulamasının üzerine dev build kurmak imza uyuşmazlığıyla başarısız oluyor. Pratik sonuç: kütüphane erişimi ve IDE olgunluğunda KMP önde; Skip'in build tarafında bilinen somut maliyetleri var.

Hangi Senaryoda Hangisi

Tek kişilik iOS geliştiricisi, Android'e açılmak istiyor ama Kotlin öğrenmeye zamanı yok

Öneri: Skip'i Library modeliyle, küçük bir modülle dene

Skip artık ücretsiz ve açık kaynak; mevcut SwiftUI bilginle küçük ölçekte hızlı bir prototip çıkarabilirsin. Kritik akışları ilk pilotta Skip'e bağlamadan önce APK boyutu ve debug deneyimini kendi projende gözlemle.

Kurumsal ekip, düşük risk toleransı ve kanıtlanmış üretim ölçeği arıyor

Öneri: Kotlin Multiplatform'u seç

Duolingo, Google, McDonald's gibi isimli referansların metrikli vaka çalışmaları ve Kotlin'in 2012'den beri süren JetBrains desteği, kurumsal risk yönetimi için Skip'in galerisinin şu anda sunamadığı bir kanıt seviyesi sağlıyor.

Android tarafında zaten güçlü Kotlin mühendisliği var ya da kurulacak

Öneri: Kotlin Multiplatform'u seç

Kotlin'in Android'de birinci sınıf dil statüsü ve geniş kütüphane ekosistemi, mevcut Android uzmanlığını değerlendirmeni sağlar; Skip bu senaryoda ek bir soyutlama katmanı olur.

Mevcut kritik, gelir getiren bir Android uygulamasını yeniden yazmak gerekiyor

Öneri: Kotlin Multiplatform'u tercih et, Skip'i yalnız yeni/düşük riskli modüllerde dene

Skip'in olgunluk kanıtı (debugger, isimli vaka, ekosistem derinliği) henüz KMP seviyesinde değil; kritik gelir akışını daha genç bir teknolojiye bağlamak gereksiz risk taşır.

Mevcut Kotlin/Java kütüphanelerine (ör. şirket içi SDK) Swift'ten erişmek gerekiyor

Öneri: Skip Lite modunu değerlendir

Lite modu Swift'i Kotlin'e transpile ettiği için mevcut Kotlin/Java kütüphaneleriyle Fuse'a göre daha kolay interop sağlıyor.

Çok platformlu (Android + iOS + Web + Desktop) uzun vadeli strateji kuruluyor

Öneri: Kotlin Multiplatform'u seç

KMP; Android, iOS, Web, Desktop ve Server hedeflerini resmî olarak destekliyor. Skip yalnız iOS+Android odaklı; daha geniş platform stratejisi için tasarlanmadı.

Android UI'ın gerçek Jetpack Compose olması şart, iOS'ta da native SwiftUI/UIKit şart

Öneri: Skip'i değerlendir

Skip her iki platformda da native arayüz üretir (Android'de Compose, iOS'ta SwiftUI); Compose Multiplatform kullanılırsa iOS'ta Skia render devreye girer, bu senaryoda istenmeyebilir.

Yaygın Tuzaklar

  • "Skip" ile "Swift SDK for Android"ı aynı şey sanmak

    Skip (Swift on Android)

    Çözüm

    Skip'in iki modu var: Fuse (native, resmî Swift Android SDK'yı kullanır) ve Lite (transpile, Swift→Kotlin). İçerik ya da proje planı yaparken hangi moddan bahsettiğini netleştir; ikisinin olgunluk ve interop profili farklı.

  • Store'dan kurulu Skip uygulamasının üzerine developer build kurmaya çalışmak

    Skip (Swift on Android)

    Çözüm

    USB debugging açıkken store sürümü kuruluyken üstüne dev build kurmak imza uyuşmazlığıyla başarısız olur (INSTALL_FAILED_UPDATE_INCOMPATIBLE). Test cihazında önce store sürümünü kaldır, sonra dev build'i kur.

  • APK boyutunu göz ardı ederek Skip ile MVP planlamak

    Skip (Swift on Android)

    Çözüm

    Skip'in minimal örnek uygulaması bile ~80 MB APK üretiyor. Play Store'un boyut/indirme hızı beklentileri olan bir ürün planlıyorsan bunu erken bütçele ve gerçek build'inle ölç.

  • KMP'de UI paylaşımı (Compose Multiplatform) ile yalnız-mantık-paylaşımını karıştırmak

    Kotlin Multiplatform

    Çözüm

    KMP'nin temel modeli 'paylaşılan mantık + native UI'dır; Compose Multiplatform ile UI'ı da paylaşmak isteğe bağlı bir üst katmandır ve iOS'ta Skia render'a geçmeyi gerektirir. İki modeli proje başında netleştir.

  • Kotlin sürüm numarasını içerikte/dokümanda sabitlemek

    Her ikisi

    Çözüm

    Kotlin'in tooling sürümleri (2.x.20) yaklaşık her 3 ayda bir değişiyor. Sabit bir sürüm numarası yerine 'güncel kararlı sürüm' ifadesini ve tarihli resmî kaynak linkini kullan, yoksa içerik hızla bayatlar.

Geçiş Kılavuzu

Mevcut Swift/SwiftUI iOS uygulamasına Skip ile kademeli Android desteği ekleme

Tahmini süre: Küçük bir pilot modül için 1-2 hafta; tam uygulama geçişi proje büyüklüğüne göre birkaç ay
  1. 1Xcode, Android Studio ve Homebrew kurulu bir geliştirme makinesi hazırla
  2. 2brew install skip ile Skip araç zincirini kur
  3. 3skip checkup çalıştırarak ortamı doğrula (Xcode/Android Studio/Java/Gradle sürüm kontrolleri)
  4. 4Mevcut iOS uygulamandaki paylaşılabilir iş mantığını ayrı bir Swift paketine çıkar
  5. 5skip init --native-model shared-feature SharedFeature ile bu paketi Skip kütüphane projesine dönüştür (Fuse için --native-model, Lite için --transpiled-model)
  6. 6'Separate apps' modeliyle bu paylaşılan paketi hem mevcut iOS projesine hem yeni Android projesine bağla
  7. 7Küçük, düşük riskli bir ekranla pilot yap; APK boyutu ve debug deneyimini kendi projende ölç
  8. 8Pilot stabilse kademeli olarak daha fazla modülü paylaşılan pakete taşı

Gelecek Öngörüsü

Skip (Swift on Android)

Skip'in yol haritası aktif ve hızlı bir kadansta ilerliyor: ana paket, skipstone motoru ve skip-model katmanı Eylül 2026'da sık aralıklarla güncellendi. Swift Android SDK'nın Swift.org tarafından bakımının sürmesi, debugger/sourcekit-lsp entegrasyonunun zamanla olgunlaşmasını olası kılıyor; bu Swift.org'un kendi Aralık 2025 yazısında 'yüksek öncelikli' olarak işaretlendi. Skip'in isimli kurumsal vaka biriktirmesi, açık kaynak sonrası benimseme arttıkça beklenebilir bir sonraki adım.

Kotlin Multiplatform

Kotlin Multiplatform, JetBrains'in öngörülebilir sürüm takvimiyle (2.5.0 Aralık 2026, 2.5.20 Mart 2027 planlı) ilerlemeye devam ediyor. Compose Multiplatform'un iOS tarafındaki olgunluğu ve klibs.io ekosistemi büyümeye devam ediyor; Google'ın Android UI'da Compose'u birincil yol olarak konumlandırması, KMP'nin Android tarafındaki temelini daha da güçlendiriyor. JetBrains'in resmî kurumsal referans listesi genişlemeye devam etme eğiliminde.

Altın Bilgi

En değerli çıkarım, iki tarihin çakışmasında saklı: Swift 6.3'ün resmî Android SDK'sı ve Skip'in ücretsiz dönüşü, aynı üç aylık pencerede birbirini tamamlayan iki değişiklik. Ama bunu "Skip artık KMP'ye eşit" diye okumak hata olur. Resmiyet ve maliyet ekseninde fark kapandı, olgunluk ekseninde kapanmadı. Swift.org'un kendi yazısı debugger/LSP entegrasyonunun eksik olduğunu belirtiyor; Skip'in galerisi isimli uygulamalar listeliyor ama yayımlanmış ölçek/sonuç metriği sunmuyor. "Resmî statü" ve "olgunluk" farklı şeyler. Skip 2026'da resmiyet kazandı ama olgunluk kazanmadı — bu da onu "dene ama tüm yumurtaları bu sepete koyma" kategorisine yerleştiriyor.

İlgili Blog Yazıları

Tüm Yazıları Gör

İlgili Projeler

Tüm Projeleri Gör

İlgili İçerik