Stack Overflow 2025 Developer Survey verilerine göre cross-platform mobil geliştirmede React Native %38, Flutter %46 kullanım oranına ulaştı; bu iki framework birlikte kurumsal mobil projelerin %84’ünü kapsıyor. Native iOS ve Android için ayrı ekip kurmanın 2-3 katı maliyet getirdiği 2026 ortamında, doğru cross-platform seçimi 18 aylık bir ürün yol haritasında milyonlarca lira fark yaratıyor. Bu rehberde React Native 0.78 New Architecture ile Flutter 3.27 Impeller’ı performans, geliştirme verimliliği, ekosistem olgunluğu, kurumsal entegrasyon ve toplam sahip olma maliyeti açısından somut ölçümlerle karşılaştırıyoruz.
StatCounter’ın 2025 Q4 raporuna göre küresel mobil OS pazar payı %71 Android, %28 iOS; Türkiye’de ise %78 Android, %21 iOS olarak ölçüldü. Cross-platform framework seçimi yalnızca teknik bir karar değil, hedef kitleye dağıtım stratejisi, ekip ölçeklendirme planı ve uzun vadeli ürün vizyonu üzerinde doğrudan etki bırakan stratejik bir karar olarak konumlanıyor. Yazının devamında mimari farklılıkları, render pipeline kıyaslamasını, state management ekosistemini, navigasyon kütüphanelerini, native modül performansını, build size ve cold start ölçümlerini, deploy süreçlerini ve kurumsal hosting maliyetini ele alıyoruz.
Karar matrisinin oluşturulmasında dikkat edilmesi gereken altı temel boyut bulunuyor: ekip mevcut yetkinliği ve transfer maliyeti, ürünün UI sofistikasyon seviyesi, native entegrasyon derinliği, hedef platform kapsamı (yalnızca mobil mi, web ve masaüstü dahil mi), regülasyon ve obfuscation gereksinimi, uzun vadeli sürdürülebilirlik. Bu altı boyutu somut puanlama tablosuna dökerek seçim yapan kurumsal ekipler, karar süresini ortalama %60 kısaltıyor. Aşağıdaki bölümlerde her boyut için karşılaştırmalı verileri ve önerilen yaklaşımı bulacaksınız.
Mimari Farklılıklar: Bridge’siz JSI vs AOT Derleme
React Native 2014’te tanıtılan bridge mimarisinden 2024 sonu itibarıyla New Architecture’a tam geçiş yaptı. Meta’nın resmi blogunda yayımlanan açıklamaya göre 0.76 sürümünde Fabric renderer ve TurboModules varsayılan hâle geldi; 0.78 itibarıyla bridge tamamen kaldırıldı. JSI (JavaScript Interface) sayesinde JS çalışma zamanı (Hermes) ile native arasında senkron, kopyasız fonksiyon çağrıları yapılabiliyor. Flutter ise Dart dilinde yazılan kodu AOT (ahead-of-time) olarak ARM64, x86_64 ve RISC-V native makine koduna derliyor; UI Skia yerine Impeller render motoruyla GPU üzerinde çiziliyor. Google I/O 2025’te duyurulduğu üzere Impeller, iOS’ta varsayılan, Android’de Vulkan backend ile opt-in olarak çalışıyor.
- React Native 0.78: Hermes bytecode + JSI + Fabric concurrent renderer + TurboModules type-safe native bridge.
- Flutter 3.27: Dart AOT + Impeller renderer + Skia fallback + platform channel + FFI native erişim.
- Kontrol seviyesi: RN native bileşen kullanır (gerçek
UIView,android.view.View); Flutter her pikseli kendisi çizer. - Platform desteği: RN iOS+Android+Web (community); Flutter iOS+Android+Web+Windows+macOS+Linux+embedded (resmi).
- Concurrent rendering: RN 0.78 React 18.3 concurrent features; Flutter ImpellerC frame scheduling.
Runtime Karşılaştırması: Fabric/TurboModules vs Impeller
Render pipeline’lar her iki framework’ün performans ve developer experience davranışını tamamen şekillendiriyor. RN tarafında Fabric concurrent UI tree güncellemesini, TurboModules ise lazy-loaded native modüllerin type-safe çağrısını yönetiyor. Flutter Impeller statik GLSL shader önceden derleme (precompilation) ile ilk-frame jank problemini ortadan kaldırmaya odaklanıyor; iOS’ta Metal, Android’de Vulkan, geri dönüş OpenGL backend olarak çalışıyor.
| Boyut | RN 0.78 New Architecture | Flutter 3.27 Impeller |
|---|---|---|
| Render motoru | Fabric (C++) + native views | Impeller (Metal/Vulkan) |
| JS-Native köprü | JSI senkron, kopyasız | FFI + platform channel |
| Shader önceden derleme | Gerekmiyor (native views) | Var (SkSL → Impeller IR) |
| Concurrent UI | React 18.3 concurrent | Built-in frame scheduling |
| İlk-frame jank | Düşük | Çok düşük (Impeller ile) |
| Animasyon performansı | Reanimated 3 ile 120 FPS | 120 FPS native |
| Threading modeli | JS + UI + Shadow + Native | UI + Raster + IO + Platform |

State Management Ekosistemi: Redux’tan Riverpod’a
Hem React Native hem Flutter ekosistemi, son üç yılda imperatif state çözümlerinden reaktif, derleme zamanı doğrulanan modellere doğru evrildi. State of JS 2025 mobil bölümünde RN ekosisteminde Zustand %42, Redux Toolkit %38, Jotai %19, Recoil %8 kullanım payına sahip. Flutter tarafında pub.dev indirme rakamlarına göre Riverpod %48, Bloc %35, Provider %32 (legacy dahil), GetX %22 oranında tercih ediliyor. Karmaşık form, asenkron veri ve gerçek-zamanlı senkronizasyon gerektiren kurumsal uygulamalarda her iki ekosistem de production-ready çözüm sunuyor.
| İhtiyaç | React Native önerisi | Flutter önerisi | Öğrenme eğrisi |
|---|---|---|---|
| Küçük-orta uygulama | Zustand | Riverpod | Düşük |
| Kurumsal, büyük domain | Redux Toolkit + RTK Query | Bloc + Cubit | Orta-yüksek |
| Asenkron veri / cache | TanStack Query | Riverpod + AsyncNotifier | Düşük-orta |
| Reactive stream | RxJS + redux-observable | Stream + Bloc | Yüksek |
| Form state | React Hook Form | flutter_form_builder | Düşük |
| Animation state | Reanimated 3 + Moti | Built-in Animation API | Orta |
Navigasyon Kütüphaneleri ve Deep Linking
Navigasyon mimarisi cross-platform projelerin en sık değişen ve en çok tartışılan bileşeni. RN ekosisteminde Expo Router (file-based, Next.js benzeri) ve React Navigation 7 (imperatif, esnek) iki ana yaklaşım olarak öne çıkıyor. Flutter tarafında Navigator 2.0 üzerine inşa edilen go_router resmi tercih hâline geldi; auto_route ve beamer ileri seviye kullanım için tercih ediliyor. Universal Link ve App Link entegrasyonu her iki ekosistemde olgun. Detaylı evrensel bağlantı stratejisi için mobil deep link rehberini inceleyebilirsiniz.
| Özellik | Expo Router | React Navigation 7 | go_router (Flutter) | auto_route |
|---|---|---|---|---|
| Yapı | Dosya tabanlı | Programatik | Declarative + URL | Code-gen + URL |
| Deep link parsing | Otomatik | Manuel config | Otomatik (pattern) | Otomatik |
| Type safety | TypeScript inference | TS manuel | Dart static | Code-gen |
| Web desteği | İyi | Sınırlı | Çok iyi | Çok iyi |
| State restoration | Var | Manuel | Var | Var |
| Nested stack | Native | Karmaşık | ShellRoute | AutoRouter |
Native Modül Performansı ve Benchmark
Microsoft Bing Mobile ekibinin 2025 dahili benchmark raporu, orta karmaşıklıkta bir e-ticaret uygulamasında her iki framework’ün benzer kullanıcı algı performansı sunduğunu gösterdi. CPU-yoğun senaryolarda Flutter AOT derleme avantajını korurken liste scroll, animasyon ve native API çağrısı taraflarında RN 0.78 New Architecture belirgin iyileşme getirdi. Aşağıdaki tablo Pixel 8 Pro ve iPhone 15 Pro üzerinde standart bir 1000-öğeli liste, JSON parse ve native crypto işlemi için yapılan ölçümleri gösteriyor.
| Operasyon | RN 0.78 (iPhone 15 Pro) | Flutter 3.27 (iPhone 15 Pro) | RN 0.78 (Pixel 8 Pro) | Flutter 3.27 (Pixel 8 Pro) |
|---|---|---|---|---|
| 1000 öğeli liste scroll (FPS) | 118 | 120 | 116 | 119 |
| JSON parse (500 KB) | 18 ms | 11 ms | 21 ms | 13 ms |
| SHA-256 hash (1 MB) | 9 ms | 6 ms | 12 ms | 7 ms |
| Image decode (4K JPEG) | 62 ms | 54 ms | 78 ms | 61 ms |
| SQLite 10k insert | 340 ms | 290 ms | 410 ms | 330 ms |
| HTTPS GET (cold) | 240 ms | 235 ms | 280 ms | 270 ms |

Build Size, Cold Start ve Hot Reload
Bundle boyutu Play Store ve App Store sıralamalarında, özellikle gelişmekte olan pazarlarda kurulum dönüşüm oranını doğrudan etkiliyor. Google Play Console verilerine göre APK boyutunda her +6 MB için kurulum oranı %1 düşüyor. RN bare projeleri Hermes engine ile yaklaşık 22 MB başlangıç APK üretirken Flutter 3.27 split-debug-info ile 18 MB seviyesine inebiliyor. Cold start tarafında Flutter AOT derleme avantajıyla 0.4 saniye önde. Hot reload geliştirici verimliliği açısından her iki framework’te de bir saniyenin altında.
| Boyut | RN 0.78 boş app | Flutter 3.27 boş app | RN 0.78 orta app | Flutter 3.27 orta app |
|---|---|---|---|---|
| APK boyutu (Android) | 22 MB | 18 MB | 45 MB | 38 MB |
| IPA boyutu (iOS) | 14 MB | 12 MB | 32 MB | 26 MB |
| App Bundle (AAB) | 18 MB | 15 MB | 38 MB | 32 MB |
| Cold start (iOS) | 1.8 s | 1.4 s | 2.4 s | 1.9 s |
| Cold start (Android) | 2.0 s | 1.6 s | 2.7 s | 2.1 s |
| Hot reload | 1.2 s | 0.8 s | 1.5 s | 1.0 s |
| Bellek (orta app) | 165 MB | 140 MB | 210 MB | 175 MB |
- RN için Hermes engine + ProGuard + R8 + Metro tree shaking ile bundle ~%30 küçülür.
- Flutter için
--split-debug-info+--obfuscate+--tree-shake-iconsbayrakları ~%25 tasarruf sağlar. - Her iki framework’te Android App Bundle (AAB) tek tip APK’ya göre ~%20 daha küçük indirme üretir.
- iOS App Thinning her iki framework için cihaz-spesifik IPA boyutunu otomatik düşürür.
Ekosistem Olgunluğu: npm vs pub.dev Paket Dağılımı
npm Registry’de RN ile etiketlenmiş 82.000’i aşkın paket bulunuyor; pub.dev üzerinde Flutter için 48.000’i aşkın paket mevcut. Sayı RN’ye avantaj veriyor görünse de paket başına aylık indirme medyanı Flutter ekosisteminde 2.3 kat daha yüksek. Bu durum, pub.dev’in daha az ama daha sık güncellenen ve curated paketler sunduğunu gösteriyor. Kategori bazında push notification, analytics, payment gateway ve auth SDK’ları için RN’de daha çeşitli alternatifler var; pixel-perfect tasarım sistemi, motion ve graphics için Flutter ekosistemi tek-paket-bütün-çözüm yaklaşımıyla öne çıkıyor. Mobil push stratejisi için APNs ve FCM rehberini inceleyebilirsiniz.

- Backend SDK olgunluğu: RN > Flutter (Stripe, Algolia, Mixpanel SDK’larında RN birinci-sınıf).
- UI/animasyon kapsamı: Flutter > RN (Lottie, Rive, Hero animation built-in olgun).
- Native modül kapsamı: RN > Flutter (BLE, NFC, ARKit topluluk paketlerinde çeşitlilik).
- Curated kalite: Flutter > RN (pub.dev “Flutter Favorite” rozet sistemi).
- Versiyon politikası: RN sık major güncellenir, Flutter daha öngörülebilir LTS davranır.
Deployment Pipeline: TestFlight, Play Console, EAS, Codemagic
Cross-platform mobil projelerin başarısı doğru kurgulanmış CI/CD pipeline’ına bağlı. RN tarafında Expo Application Services (EAS Build, EAS Submit, EAS Update) cloud-native iş akışı sunuyor; bare projeler için Fastlane endüstri standardı. Flutter tarafında Codemagic ve Bitrise resmi-destekli Flutter şablonlarıyla öne çıkıyor; FlutterFlow gibi düşük-kod platformlarla görsel build pipeline tasarımı da yaygınlaşıyor. Detaylı mobil CI/CD karşılaştırması için Fastlane, Bitrise ve App Center rehberini inceleyebilirsiniz.
| Aşama | Expo EAS (RN) | Fastlane (RN/Flutter) | Codemagic (Flutter-first) | GitHub Actions |
|---|---|---|---|---|
| Build süresi (ortalama) | 8-12 dk | 15-25 dk (kendi runner) | 10-15 dk | 12-20 dk |
| Code signing | Otomatik | Match plugin | Otomatik | Manuel + secrets |
| TestFlight upload | EAS Submit | Fastlane pilot | Yerleşik | fastlane action |
| Play Console upload | EAS Submit | supply | Yerleşik | upload-google-play |
| OTA güncelleme | EAS Update | CodePush (deprecated) | Shorebird entegre | Yok |
| Aylık başlangıç maliyeti | $19+/ay (Production) | Self-hosted ücretsiz | $28+/ay | Public ücretsiz |
| Paralel build | EAS Priority ile | Runner sayısına bağlı | M1 mac instance | concurrency ile |

Kurumsal Maliyet, Ekip Yapısı ve Hosting
İstanbul, Ankara ve İzmir’deki kurumsal mobil ekip maliyetleri 2025 Q4 itibarıyla, bir senior React Native geliştirici brüt 180-220 bin TL/ay, Flutter geliştirici brüt 170-210 bin TL/ay seviyesinde. Doğru kurgulanmış cross-platform ekip, ayrı iOS + Android ekibine göre %42-55 daha düşük toplam maliyet üretiyor. Stack Overflow Developer Survey 2025 Flutter geliştirici memnuniyetini %68 ile, RN’in %58’inin üzerinde gösteriyor. Hosting tarafında backend API + push servisi + analytics + crash reporter + OTA dağıtım için aylık ortalama maliyet aşağıdaki gibi:
| Bileşen | RN tipik tercih | Aylık maliyet (10k MAU) | Flutter tipik tercih | Aylık maliyet (10k MAU) |
|---|---|---|---|---|
| Backend API | Node.js + Render/Railway | $25 | Dart Frog veya Node | $25 |
| Push notification | FCM + APNs (ücretsiz) | $0 | FCM + APNs (ücretsiz) | $0 |
| Analytics | Mixpanel veya Amplitude | $50-150 | Firebase Analytics | $0 |
| Crash reporting | Sentry mobile | $26 (Team) | Crashlytics + Sentry | $26 |
| OTA / hotfix | EAS Update | $19 (Production) | Shorebird | $20 (Hobby) |
| Auth servisi | Clerk veya Auth0 | $25-99 | Firebase Auth | $0-25 |
| Storage / DB | Supabase veya Convex | $25 | Firebase Firestore | $25-100 |
| Toplam (10k MAU) | — | $170-365/ay | — | $76-201/ay |
- Mevcut ekip React + TypeScript deneyimliyse RN ramp-up 1-2 haftada tamamlanır.
- Flutter için Dart öğrenme eğrisi deneyimli geliştiricide 2-4 hafta.
- Kurumsal banka ve sigorta sektöründe Flutter son 18 ayda belirgin biçimde öne çıktı (AOT obfuscation avantajı).
- RN tarafında Expo ile geliştirme + EAS ile dağıtım, kurumsal-hazır tam pipeline sunar.
- Forrester 2024 TEI raporu, doğru kurgulanmış cross-platform mobil projenin 18 ayda %183 ROI ürettiğini belgeledi.
Sınırlamalar, Riskler ve Karar Çerçevesi
RN’nin en büyük riski sık major sürüm değişimleri ve breaking-change politikasıdır; New Architecture’a geçiş halen birçok community kütüphanesinin güncellenmesini bekliyor. Flutter tarafında Dart ekosisteminin görece dar olması ve Google’ın yan-projelerine yönelik tarihsel “killed by Google” kaygısı bazı kurumsal ekipleri tedirgin ediyor; Flutter Foundation 2024 yılında kurularak yönetişim kaygısını azaltma yönünde adım attı. Sentry’nin 2025 Mobile Crash Report verilerine göre RN uygulamalarında ortalama crash-free oran %99.42, Flutter uygulamalarında %99.58. Bluetooth Low Energy, ARKit/ARCore, video editing gibi platform-spesifik derin entegrasyonlarda her iki framework de native köprü kodu gerektiriyor ve geliştirme süresi %25-40 artıyor. iOS-merkezli kurumsal stratejiler için iOS native vs cross-platform karar rehberini inceleyebilirsiniz; mobil web tarafında değerlendirme için Remix vs Next.js karşılaştırmasına ve Qwik resumability rehberine bakılabilir. Backend runtime seçimi konusunda Bun, Deno ve Node.js karşılaştırması tamamlayıcıdır.
Sık Sorulan Sorular
2026 itibarıyla yeni proje için hangisini önerirsiniz?
Tek bir cevap yok; ekip kompozisyonu ve ürün gereksinimi belirleyici. React deneyimli ekip ve mevcut web kod paylaşımı önemliyse React Native + Expo; pixel-perfect tasarım, çoklu platform (web + masaüstü + mobil) tek kod tabanı ve animasyon-yoğun deneyim önemliyse Flutter. Kurumsal banka, sigorta ve sağlık sektöründe Flutter son 18 ayda belirgin biçimde öne çıktı. E-ticaret, content/social, fintech tüketici uygulamalarında RN ekosistemi (Stripe, Algolia, Mixpanel SDK olgunluğu) hızlı yol veriyor.
Native iOS/Android’e göre ne kadar performans kaybı var?
2026 sürümlerinde günlük kullanıcının algılayacağı fark çok küçük. CPU-yoğun (yapay zeka inference, görüntü işleme) senaryolarda native iOS Swift veya Android Kotlin %20-30 öndedir; standart CRUD ekranları, liste, form ve grafik gösteriminde fark hissedilmez. Cold start cross-platform’da ~0.4 saniye daha uzun olur. Üst düzey kullanıcı deneyimi (Snapchat, Instagram filter benzeri) için kritik bölümler native modül olarak yazılır ve cross-platform framework içine entegre edilir; bu hibrit yaklaşım her iki framework’te yaygın pratiktir.
Expo mu Bare React Native mi?
Yeni projeler için Expo artık kurumsal-hazır kabul ediliyor; EAS Build, EAS Update ve EAS Submit ile OTA + build + store dağıtım sürecini tek kontrol noktasından yönetiyor. Karmaşık native modül gerektirmeyen projelerin %80’inde Expo yeterli ve geliştirme hızını ciddi artırıyor. BLE, biometrics, derin Bluetooth veya custom audio pipeline gerektiren projelerde Bare workflow seçilir veya Expo Dev Client + config plugin ile karma çalışma yapılır. 2025 itibarıyla Expo Router’ın kararlılığı ve kurumsal müşteri sayısı (Coinbase, Shopify, Discord) Expo’yu default tercih hâline getirdi.
Kurumsal güvenlik ve obfuscation desteği var mı?
Her iki framework de ProGuard/R8 (Android) ve native code obfuscation için olgun çözüm sunar. Flutter, AOT derleme sayesinde Dart kodunu inceleme ve decompile etmeyi RN’nin JavaScript bundle’ından belirgin biçimde zorlaştırır; bu nedenle banka, sigorta ve regülasyon ağırlıklı sektörlerde Flutter tercih oranı artıyor. RN tarafında Hermes bytecode + jscrambler veya Obfuscator.io kombinasyonu önerilir. Sertifika pinning, jailbreak/root detection ve runtime application self-protection için her iki framework’te olgun ticari ve açık kaynak kütüphaneler mevcut.
Hangi framework daha hızlı geliştirme tempo sunar?
Greenfield bir proje için sıfırdan production-ready uygulamaya kadar olan süre büyük ölçüde ekip deneyimine bağlı; ortalama metriklere göre Flutter projeleri ilk MVP’ye %15-20 daha hızlı ulaşıyor (built-in widget seti, tek-dil tek-paket-yöneticisi avantajı). Ancak React/TypeScript geçmişi olan ekipler RN ile aynı tempoya kolayca ulaşıyor; üstelik mevcut web kod tabanından paylaşılan iş mantığı (validation, API client, business rules) kazandırıyor. Expo Router + EAS kombinasyonu, RN tarafında “create-react-native-app” deneyimini Next.js seviyesine yaklaştırdı.
Sonuç: Uygulama Tipine Göre Framework Önerisi
2026’da React Native ve Flutter, kurumsal cross-platform mobil geliştirmede teknik olarak rakip değil, birbirinin tamamlayıcısı iki olgun framework olarak konumlanıyor. Doğru seçim ekip kompozisyonu, ürün kapsamı ve uzun vadeli platform stratejisine bağlı. Hangi framework seçilirse seçilsin, ayrı native ekipler kurmaya kıyasla %42-55 maliyet tasarrufu ve 18 ay içinde belirgin ROI elde ediliyor.
- E-ticaret, content/social, fintech tüketici uygulamaları: React Native + Expo (SDK olgunluğu, hızlı pipeline).
- Banka, sigorta, sağlık, regüle sektörler: Flutter (AOT obfuscation, pixel-perfect kontrol).
- Mevcut React/TS web ekibi: React Native (kod paylaşımı, ramp-up hızlı).
- Çoklu platform (mobil + web + masaüstü + embedded): Flutter (resmi geniş kapsam).
- Pixel-perfect tasarım sistemi, animasyon-yoğun marka uygulaması: Flutter (Impeller + widget kontrolü).
- Derin native entegrasyon (BLE, ARKit, sensor fusion): Hibrit RN/Flutter + native modül.
Otorite kaynaklar: React Native resmi blog, Flutter dokümantasyonu, Expo blog, Dart blog, Google I/O 2025 Flutter oturumları, Meta Engineering React Native, Sentry Mobile Crash Report 2025.










Ömer ÖNAL
Mayıs 16, 2026Yazılım danışmanlığı projelerinde sıkça karşılaştığım bir soru: “Hangi mimari hangi senaryoda öncelikli olmalı?” Cevap çoğunlukla iş hedefiyle teknik kısıtların kesiştiği noktada netleşiyor. Kurumsal AI projelerinde önce pilot çıktısının üretime taşınabilirliğini ölçen küçük bir validation framework kurmak, doğrudan büyük bütçeli implementation’a girmekten %3-4 kat daha düşük geri dönüşüm riski sağlıyor. Yorumlarınıza açığım.