Kotlin Multiplatform vs Flutter Karşılaştırması

Share business logic, native UI per platform

VS
Flutter

Shared UI + runtime, single codebase cross-platform

10 dk okumaCross-Platform

Cross-platform mobile geliştirmenin 2026'daki iki rakip yaklaşımı: JetBrains Kotlin Multiplatform (KMP, Kasım 2023'te 1.0 stabil) ve Google Flutter (2017'de tanıtıldı). KMP 'shared logic, native UI' (iOS Swift+Android Compose, business logic Kotlin), Flutter 'shared everything' (UI dahil tek codebase, custom rendering). 2024'te KMP Compose Multiplatform iOS stable, Swift Export beta — Apple platformlarına Kotlin entegrasyonu derinleşti. Netflix, McDonald's, Forbes, Touchlab production'da KMP. Google Pay (130M+), BMW, eBay Flutter'da. Bu karşılaştırma JetBrains Kotlin Multiplatform Documentation, KotlinConf 2024, Flutter Engage 2024, JetBrains State of Developer Ecosystem 2024 ve 12+ yıllık production mobile deneyimine dayanmaktadır.

Derin Analiz

Felsefe: 'Shared Logic, Native UI' vs 'Shared Everything'

KMP'nin temel vaadi 'business logic'i paylaş, UI'ı her platformda native yaz'. iOS için SwiftUI/UIKit, Android için Jetpack Compose, paylaşılan: network layer, data models, validation, state management. KMP UI tarafında Compose Multiplatform (opsiyonel, 2024'te stable) iOS+Android+Desktop+Web tek codebase UI sunar. Apple HIG + Material 3 strict uyum gerekirse iOS'ta SwiftUI tercih edilir. Flutter ise tek codebase her şey: UI, business logic, navigation, animations — hepsi Dart'ta. Custom rendering (Impeller GPU) ile %100 platform-eşit görünüm. Trade-off: KMP daha esnek (native UI istiyorsan) ama 2 codebase (iOS Swift + KMP Kotlin); Flutter tek codebase ama platform-spesifik native widget paterni custom widget'larla taklit edilmeli. Production: Netflix Studio app KMP ile shared business logic + native UI. Google Pay 130M+ kullanıcı için Flutter — UI consistency + branding birinci.

Performance: Native Compile vs Custom Rendering

KMP Apple platformlarda Kotlin/Native (LLVM-based) ile native binary üretir — iOS'ta gerçek native performance. Android'de Kotlin/JVM zaten native (ART runtime). Flutter Dart AOT compilation ile native binary, UI rendering Skia/Impeller GPU üzerinden (Metal/Vulkan). Cold start: KMP 1.0-1.5s iOS, Flutter 1.2-1.8s iOS. Frame rendering 60fps stable her ikisinde. Memory: KMP 60-90MB, Flutter 80-120MB. JetBrains 2024 benchmark: KMP iOS native Swift'in %95-98 hızında; Flutter %85-92 ama UI consistency'de native'i geçer. Production: pure performance KMP, UI consistency Flutter.

Geliştirici Deneyimi ve Tooling

KMP: IntelliJ IDEA + Android Studio + Xcode 3 IDE workflow. Kotlin code IntelliJ'de yazılır, iOS view tarafı Xcode'da Swift. Hot reload kısıtlı: Android tarafında hot reload, iOS re-compile. Compose Multiplatform iOS Hot Reload (2024 Q4) preview yetersiz. Flutter VS Code + Android Studio first-class. Stateful Hot Reload 200-500ms — endüstri standardı. DevTools widget inspector güçlü. JetBrains Fleet IDE 2024 KMP-first — iOS+Android+Web tek pencere, Xcode kadar derin debugging. Pratik: Flutter solo dev için, KMP enterprise team için (iOS+Android team'leri ayrı, business logic merkezi).

iOS Native Look-and-Feel ve Apple Yeni Framework

Apple HIG + iOS native widget'lara strict uyum kritik (banking, finance, premium SaaS) için KMP avantajlı: iOS UI %100 SwiftUI native, KMP sadece business logic. Apple yeni framework'leri (visionOS 2, Vision Pro, Liquid Glass, Live Activities, Apple Intelligence) anında kullanılır. Flutter Cupertino Components iOS look taklit eder ama gecikmeyle: Apple yeni framework çıkardığında package maintainer'lar update etmeli (2-4 ay gecikme). visionOS / Vision Pro: KMP iOS native (Swift) anında support; Flutter visionOS desteği yok (visionOS 2 SADECE SwiftUI). Production: Netflix Studio iOS 18 Apple Intelligence integration anında, Flutter app'leri sonradan.

Production Adoption ve Ekosistem (2026)

KMP 2024-2026 arası %180 büyüme (JetBrains 2024 anketi). Production: Netflix Studio app, McDonald's Global Mobile Platform, Forbes Mobile, Touchlab 10+ enterprise client, Philips, 9GAG. JetBrains kendi tüm cross-platform tool'larını KMP'ye taşıdı. Flutter olgun ekosistem: Google Pay, BMW, eBay, Alibaba Idle Fish, ByteDance, Toyota infotainment. App Store top 100: KMP 4 app, Flutter 12 app (Apple Q1 2026). Library: KMP 200+ multiplatform lib (kotlinx-serialization, ktor, sqldelight, koin), Flutter pub.dev 50K+ paket. KMP genç ama hızlı büyüyor; Flutter olgun ama büyüme yavaş.

İş Pazarı ve Kariyer (2026)

LinkedIn 2026 Q1: Flutter ~22K aktif pozisyon, KMP ~8K. Maaş ortalaması (Glassdoor): Senior Flutter $115-160k, Senior KMP $125-175k (KMP'nin niche olması primium). Türkiye: Flutter 720+, KMP 180+. JetBrains 2024: %12 mobile dev primary Flutter, %4 KMP (büyüyen). Stack Overflow 2024: Flutter %66 'loved'. Touchlab gibi KMP-only consultancies hızla büyüyor. KMP avantaj: Java/Kotlin enterprise developer tabanı (15M+ dev) doğal pool. Flutter avantaj: %66 'loved' developer experience + 50K paket olgun ekosistem. Career: Flutter mobile-only + bazı web/desktop, KMP mobile + backend (Spring Boot Kotlin) + web (Wasm).

Puan Karşılaştırması

Grafik yükleniyor...

Detaylı Puanlama

Performans
Kotlin Multiplatform10/10
Flutter9/10
Öğrenme Kolaylığı
Kotlin Multiplatform7/10
Flutter9/10
Ekosistem
Kotlin Multiplatform8/10
Flutter9/10
Topluluk
Kotlin Multiplatform7/10
Flutter10/10
İş Pazarı
Kotlin Multiplatform8/10
Flutter9/10
Gelecek
Kotlin Multiplatform9/10
Flutter9/10

Karşılaştırma Matrisi

ÖzellikKotlin MultiplatformFlutter
İlk yayın yılı2017 (1.0 stable Kasım 2023)2017 (Google I/O)
Programlama diliKotlin (UI: Swift/Kotlin native)Dart
UI yaklaşımıNative UI (SwiftUI + Compose)Custom rendering (Impeller)
Native compilationKotlin/Native (LLVM, gerçek native)Dart AOT (native binary)
iOS performance vs native%95-98%85-92 (Impeller GPU)
UI consistency cross-platformNative (her platformda farklı)%100 same pixel
Apple HIG + iOS 18 yeni featureAnında (native Swift)2-4 ay gecikme
visionOS / Vision ProNative iOS Swift bridgeDesteklenmiyor
Hot reload speedKısıtlı (iOS re-compile)Stateful 200-500ms
Tek IDE workflow3 IDETek IDE
Library ekosistem200+ multiplatform libpub.dev 50K+
Backend Kotlin code shareSpring Boot Kotlin direktYok
Compose Multiplatform iOSStable 2024 Q4Yok
Production adoption (2026)%4 mobile dev birincil%12 mobile dev birincil
Job market 2026~8K (büyüyen)~22K (olgun)

Artıları & Eksileri

Kotlin Multiplatform

Artıları

  • Native performance (iOS Swift, Android Kotlin)
  • UI native — platform-specific look & feel
  • Shared business logic (%70-80 code share)
  • Existing Kotlin Android team direct leverage
  • Swift Export (2026) — iOS team Swift binding
  • JetBrains official support, stable 2024
  • Compose Multiplatform UI optional (desktop, web)
  • Apple ecosystem deep integration kolay

Eksileri

  • UI platform-specific yazılmalı (Flutter'dan daha fazla kod)
  • iOS ecosystem bazı edge case'lerde debug zor
  • Cocoapods + SPM integration setup karmaşık
  • Öğrenme eğrisi: Kotlin + Swift + KMP concepts

En Uygun

Existing Kotlin Android team + iOS teamPremium native UX required (Netflix, Uber pattern)Business logic heavy apps (fintech, health)JetBrains ecosystem usersEnterprise (Philips, Sephora KMP success stories)

Flutter

Artıları

  • Single codebase UI + logic (%95 share)
  • 60fps Skia rendering own — consistent cross-platform
  • Widget library rich (Material + Cupertino)
  • Hot reload developer experience best
  • Dart language easy learn for mobile dev
  • pub.dev ecosystem 40k+ packages
  • Performance near-native
  • Desktop + Web + Embedded support (single codebase)

Eksileri

  • Non-native look sometimes (pixel-perfect iOS zor)
  • Binary size 4-8MB base
  • Platform-specific integration FFI/method channels
  • Apple rejection riski (özgün look kriter sertleştirildiği durumlar)

En Uygun

MVP + startup (fast development)UI-consistent cross-platform (branding)Small team (1-3 developer)Shopify, BMW, Google Pay (mature users)Desktop + Mobile + Web single codebase

Kod Karşılaştırması

Kotlin Multiplatform
// shared/commonMain
expect class UserRepository {
    suspend fun fetchUser(id: String): User
}

// androidMain
actual class UserRepository actual constructor() {
    actual suspend fun fetchUser(id: String): User {
        // Native Android HTTP
    }
}

// iosMain
actual class UserRepository actual constructor() {
    actual suspend fun fetchUser(id: String): User {
        // Native iOS URLSession
    }
}
Flutter
import 'package:flutter/material.dart';

class UserScreen extends StatelessWidget {
  final UserRepository userRepo;

  @override
  Widget build(BuildContext context) {
    return FutureBuilder<User>(
      future: userRepo.fetchUser(id: 'current'),
      builder: (ctx, snapshot) {
        if (snapshot.hasData) return Text(snapshot.data!.name);
        return CircularProgressIndicator();
      },
    );
  }
}

Karar Çerçevesi — Senaryo Bazlı Öneriler

1

Apple HIG strict + iOS premium UX (banking/finance)

Önerilen:KMP

iOS UI %100 SwiftUI native — Apple yeni framework'leri anında. Liquid Glass, Live Activities, Apple Intelligence integration. Business logic Kotlin shared.

2

UI consistency öncelik (custom design system)

Önerilen:Flutter

Custom rendering ile %100 platform-eşit pixel. Marka kimliği her platformda aynı. Google Pay, BMW production.

3

Mevcut Kotlin Android team + iOS scratch

Önerilen:KMP

Kotlin team direkt productive. iOS team SwiftUI öğrenir + KMP shared business logic kullanır.

4

Mevcut React/JavaScript team → mobile geçiş

Önerilen:Flutter

Dart 2-3 hafta öğrenirler. KMP Kotlin + Swift = dual learning curve.

5

Vision Pro / visionOS uygulaması

Önerilen:KMP (iOS Swift bridge)

Flutter visionOS desteklemiyor. KMP iOS Swift native UI ile RealityKit + visionOS API.

6

Hızlı MVP, tek developer, sub-3-ay timeline

Önerilen:Flutter

Tek IDE, tek dil, hot reload, 50K paket — hız avantajı. KMP setup overhead 2-4 hafta.

7

Backend + mobile aynı team (Kotlin Spring Boot)

Önerilen:KMP

Server-side Kotlin code mobile'da reuse. Validation, models, business logic tek codebase. Forbes, Netflix production.

Yaygın Tuzaklar & Çözümleri

KMP iOS framework size çok büyük (50-80MB ekstra)

Kotlin/Native --opt + bitcode + dead-code elimination. Multiple frameworks pattern. KMP 1.9+ size optimization improvements.

Flutter Cupertino native iOS'tan farklı (subtle pixel mismatch)

iOS 18 yeni özelliği için cupertino_icons + flutter_platform_widgets. Custom widget'lar yerine native first-party kullan.

KMP build complexity — Gradle multi-target setup

Kotlin Multiplatform Plugin 1.9+ + KMM Wizard (Android Studio plugin). JetBrains Compose Multiplatform Wizard 2024+ — 1-click setup.

Flutter widget tree rebuild performance — gereksiz setState()

const constructor + extracting widgets + Riverpod/BLoC selective subscription. Flutter DevTools Widget Inspector profile.

KMP Compose iOS SwiftUI integration

ComposeUIViewController + UIKit Representable bridge. SwiftUI'da UIViewControllerRepresentable wrapper. JetBrains 'Compose iOS' guide.

Migration Kılavuzu

Native (Swift+Kotlin) → KMP veya FlutterTahmini süre: Pilot feature: 4-8 hafta. Tam app rebuild: KMP 6-12 ay (UI native), Flutter 12-18 ay (UI dahil). Netflix Studio KMP migration 8 ay.
  1. 1. Mevcut native code audit — UI complexity vs business logic ratio. UI %70+ → Flutter, business logic %70+ → KMP
  2. 2. KMP: shared/ modülü oluştur (commonMain + iosMain + androidMain). Network + data models + validation buraya taşı
  3. 3. Flutter: pilot feature seç (Settings, Profile). Native iOS+Android'de mevcut kalır, yeni feature Flutter'da
  4. 4. KMP iOS export: Kotlin/Native framework'i Xcode projesine ekle. Swift wrapper class'ları otomatik
  5. 5. CI/CD: KMP için Gradle multi-target + iOS framework signing; Flutter için Codemagic/EAS Build
  6. 6. Performance regression monitoring (Sentry/Firebase) — native baseline'a göre %5+ düşüş varsa rollback
  7. 7. Team training: KMP 2-4 hafta (Kotlin + Gradle multi-target); Flutter 2-3 hafta (Dart + widget tree)

Gelecek Öngörüsü (2026+)

Kotlin Multiplatform

KMP'nin geleceği parlak. JetBrains 2024 roadmap: Swift Export stable (Kotlin 2.1), Compose Multiplatform iOS production-ready (2024 Q4 done), JetBrains Fleet KMP-first IDE, KMP for Web (Wasm) production. Apple Liquid Glass + Apple Intelligence native iOS Swift'te direkt kullanılır. JetBrains 2026 hedef: %20 mobile dev primary KMP. Touchlab + Google + JetBrains üçlü omurga güçleniyor.

Flutter

Flutter'ın geleceği stabil. Google ekosistem (Firebase + Genkit + Imagen API) entegrasyonu derinleşiyor. Flutter 4.0 roadmap (2025): WebGL2 + Wasm default, Material 3 Expressive variant, RFW (Remote Flutter Widgets), Impeller %100 default. Flutter Forge program 2024 — partnership genişliyor (Toyota, Canonical Ubuntu). Trend: mobile + web + desktop + embed unified codebase çekirdek vaad.

Sonuç

Premium native UX (Apple HIG + Material strict uyum) → KMP. Fast MVP + UI consistency branding → Flutter. Existing Kotlin team → KMP direct win. Existing React team → Flutter learning kolay.

Ücretsiz Danışmanlık Al

ALTIN İPUCU — Production Insight

Bu yazının en değerli bilgisi

Bu ipucu, yazının en önemli çıkarımını içeriyor.

Muhittin Çamdalı

Muhittin Çamdalı

iOS pixel perfection meets on-device AI craft — Swift, SwiftUI, visionOS, Core ML. 12+ yıl native iOS, 60+ App Store uygulaması, 1M+ kullanıcı. Bu karşılaştırma production deneyimine dayanmaktadır — teorik değil.

iOS Geliştirme Haberleri

Haftalık Swift tips, SwiftUI tricks ve iOS best practices. Spam yok, sadece değerli içerik.

Gizliliğinize saygı duyuyoruz. İstediğiniz zaman abonelikten çıkabilirsiniz.

SSS

Sıkça Sorulan Sorular

KMP literal native (Swift/Kotlin compile). Flutter Skia/Impeller render fast ama 1-2% native'den geri (2026'da fark çok az).

İlgili Blog Yazıları

Tüm Yazıları Gör

İlgili Projeler

Tüm Projeleri Gör