Mobil Geliştirme Genel Bakış (Mobile Development Overview)
Mobil uygulama geliştirme için cross-platform framework karşılaştırmaları, öğrenme yol haritası ve terim sözlüğü. Bu kategori React Native, Flutter, uygulama yayınlama, mimari ve araç rehberlerini kapsar.
React Native vs Flutter Karşılaştırma Tablosu (Comparison Table)
| Özellik (Feature) | React Native | Flutter |
|---|---|---|
| Geliştirici (Developer) | Meta (Facebook) | |
| Programlama Dili (Language) | JavaScript / TypeScript | Dart |
| İlk Sürüm (First Release) | 2015 | 2018 |
| UI Yaklaşımı (UI Approach) | Native bileşenler üzerine köprü (Bridge to native components) | Kendi render motoru, Skia (Own rendering engine, Skia) |
| Performans (Performance) | İyi — New Architecture (JSI/Fabric) ile native'e yakın | Çok iyi — AOT derleme, doğrudan native koda dönüşüm |
| Hot Reload | Destekler (Fast Refresh) | Destekler (Stateful Hot Reload) |
| Öğrenme Eğrisi (Learning Curve) | Düşük-Orta — JavaScript/React bilenler hızlı başlar | Orta — Dart öğrenilmeli, ancak tutarlı API |
| Topluluk (Community) | Çok geniş, npm ekosistemi | Hızla büyüyen, pub.dev ekosistemi |
| İş İlanları (Job Market) | Daha fazla (özellikle TR pazarında) | Hızla artıyor, startup'larda popüler |
| Platform Desteği (Platform Support) | iOS, Android, Web (kısıtlı), Windows, macOS | iOS, Android, Web, Windows, macOS, Linux |
| Native Modül Erişimi (Native Access) | Bridge / Turbo Modules | Platform Channels / FFI |
| Durum Yönetimi (State Management) | Redux, Zustand, MobX, Jotai, Context API | Riverpod, Bloc, Provider, GetX |
| Navigasyon (Navigation) | React Navigation, Expo Router | Navigator 2.0, GoRouter, AutoRoute |
| Test Araçları (Testing) | Jest, Detox, Appium | Widget test, Integration test, Patrol |
| Bundle Boyutu (Bundle Size) | ~7-15 MB (minimum APK) | ~8-15 MB (minimum APK) |
| Kurumsal Kullanım (Enterprise) | Instagram, Facebook, Shopify, Discord | Google Pay, BMW, Alibaba, eBay Motors |
Ne Zaman Hangisi? Karar Ağacı (Decision Tree)
Proje gereksinimlerine göre doğru framework seçimi için aşağıdaki yol haritasını kullanın:
JavaScript/React Bilgisi Var --> React Native
- Mevcut JavaScript/TypeScript bilgisi ile hızlı başlangıç
- npm ekosistemindeki binlerce pakete erişim
- Web geliştiriciler için düşük geçiş maliyeti
- React bilgisi olan ekiplerde verimlilik artışı
Pixel-Perfect UI & Çoklu Platform --> Flutter
- iOS, Android, Web, Desktop tek codebase ile
- Özel animasyonlar ve karmaşık UI tasarımları
- Platform bağımsız tutarlı görünüm
- Performans kritik uygulamalar (oyun benzeri UI)
Hızlı Prototip & MVP --> React Native (Expo)
- Expo ile sıfır konfigürasyon başlangıç
- EAS Build ile bulut tabanlı derleme
- OTA (Over-the-Air) güncellemeler ile hızlı yayınlama
- App Store/Play Store onayı beklemeden güncelleme
Startup + Küçük Ekip --> Flutter
- Tek dil (Dart) ile frontend ve backend (Dart Frog / Shelf)
- Widget tabanlı tutarlı mimari
- Resmi paketler ve iyi dokümantasyon
- Daha az üçüncü parti bağımlılık ihtiyacı
Mevcut Native Uygulama + Kademeli Geçiş --> React Native
- Brownfield entegrasyonu ile mevcut native projeye ekleme
- Belirli ekranları React Native ile geliştirme
- Native modüllerle mevcut kodu yeniden kullanma
Yüksek Performanslı Animasyon & Grafik --> Flutter
- Skia render motoru ile 60/120 FPS animasyonlar
- CustomPainter ile özel çizimler
- Platform farkı olmadan aynı piksel çıktısı
Mevcut Web Bilgisi + Hızlı Mobil --> React Native (Expo)
- Web geliştirici ekibi olan şirketler için düşük eğitim maliyeti
- React bilgisi doğrudan taşınır — component, hooks, state aynı mantık
- Expo ile managed workflow: native build gerektirmeden geliştirme
Tek Codebase ile Tüm Platformlar --> Flutter
- iOS, Android, Web, Windows, macOS, Linux — tek proje
- Embedded cihazlar için de Flutter desteği (Flutter Embedded)
- Google'ın uzun vadeli yatırımı (Fuchsia OS)
Karar Özeti Tablosu (Decision Summary)
| Senaryo (Scenario) | Öneri (Recommendation) |
|---|---|
| JavaScript/React bilen ekip | React Native |
| Pixel-perfect özel UI gerekli | Flutter |
| Hızlı MVP / Prototip | React Native (Expo) |
| 6+ platform desteği gerekli | Flutter |
| Mevcut native uygulamaya ekleme | React Native |
| Yüksek performans + animasyon | Flutter |
| TR iş piyasasında avantaj | React Native (daha fazla ilan) |
| Startup + küçük ekip | Flutter |
| E-ticaret / Sosyal medya klonu | Her ikisi de uygun |
Öğrenme Sırası Önerisi (Learning Order)
React Native Yolu (React Native Path)
1. JavaScript Temelleri (ES6+)
↓
2. React Temelleri (Component, State, Props, Hooks)
↓
3. TypeScript
↓
4. React Native CLI + Expo
↓
5. Navigasyon (React Navigation / Expo Router)
↓
6. State Management (Zustand / Redux Toolkit)
↓
7. API Entegrasyonu (Axios, React Query)
↓
8. Native Modüller & Turbo Modules
↓
9. Test (Jest, Detox)
↓
10. Yayınlama (App Store, Play Store, EAS)React Native Yolu İçin Ön Koşul (Prerequisite for RN Path)
React Native'e başlamadan önce JavaScript ES6+ ve React temelleri (component, state, props, hooks) sağlam olmalıdır. Bu bilgiler yoksa önce JavaScript/TypeScript Rehberi ve React Rehberi ile başlayın.
Flutter Yolu (Flutter Path)
1. Dart Temelleri (Değişkenler, Fonksiyonlar, OOP, Async)
↓
2. Flutter Widget Ağacı (Stateless, Stateful, Layout)
↓
3. Navigasyon (GoRouter / Navigator 2.0)
↓
4. State Management (Riverpod / Bloc)
↓
5. API Entegrasyonu (Dio, Retrofit)
↓
6. Yerel Veritabanı (Hive, Isar, Drift)
↓
7. Platform Channels & Native Entegrasyon
↓
8. Test (Unit, Widget, Integration)
↓
9. Animasyonlar & Özel UI
↓
10. Yayınlama (App Store, Play Store, Web Deploy)Flutter Yolu İçin Ön Koşul (Prerequisite for Flutter Path)
Flutter'a başlamadan önce OOP (Nesne Yönelimli Programlama) kavramlarına hakim olmak gerekir. Dart, Java/C# benzeri bir söz dizimine sahiptir — bu dillerden birini biliyorsanız hızlı adapte olursunuz.
Tahmini Öğrenme Süreleri (Estimated Learning Time)
| Aşama (Phase) | React Native | Flutter |
|---|---|---|
| Temel kavramlar (Basics) | 2-3 hafta | 3-4 hafta (Dart dahil) |
| İlk uygulama (First app) | 1-2 hafta | 1-2 hafta |
| Orta seviye (Intermediate) | 2-3 ay | 2-3 ay |
| Production-ready | 4-6 ay | 4-6 ay |
| İleri seviye (Advanced) | 8-12 ay | 8-12 ay |
Not: Süreler tam zamanlı öğrenme baz alınarak hesaplanmıştır. Yarı zamanlı öğrenmede 1.5-2x ile çarpın.
Geliştirme Ortamı Gereksinimleri (Development Environment)
React Native İçin (For React Native)
| Araç (Tool) | Gereklilik (Requirement) | Açıklama (Description) |
|---|---|---|
| Node.js | Zorunlu | v18+ önerilir (LTS) |
| npm / yarn / pnpm | Zorunlu | Paket yöneticisi |
| Watchman | Önerilen (macOS) | Dosya değişiklik izleme |
| Xcode | iOS geliştirme (macOS) | iOS simülatör ve build |
| Android Studio | Android geliştirme | Android emülatör ve SDK |
| Expo CLI | Opsiyonel | Managed workflow için |
| VS Code | Önerilen | React Native Tools eklentisi |
Flutter İçin (For Flutter)
| Araç (Tool) | Gereklilik (Requirement) | Açıklama (Description) |
|---|---|---|
| Flutter SDK | Zorunlu | flutter doctor ile kontrol |
| Dart SDK | Flutter ile gelir | Ayrı kurulum gerekmez |
| Xcode | iOS geliştirme (macOS) | iOS simülatör ve build |
| Android Studio | Android geliştirme | Android emülatör, SDK, Flutter eklentisi |
| VS Code | Önerilen | Dart + Flutter eklentileri |
| CocoaPods | iOS bağımlılıkları | gem install cocoapods |
| Chrome | Web geliştirme | Flutter web debug |
Rehber Haritası (Guide Map)
Bu kategorideki tüm rehberlere aşağıdan ulaşabilirsiniz:
| Rehber (Guide) | Açıklama (Description) | Bağlantı (Link) |
|---|---|---|
| React Native Rehberi | Kurulum, bileşenler, navigasyon, native modüller, Expo | React Native Rehberi |
| Flutter Rehberi | Dart, widget ağacı, state management, platform channels | Flutter Rehberi |
| Uygulama Yayınlama Rehberi | App Store, Play Store, sertifikalar, CI/CD, OTA | Uygulama Yayınlama |
| Mobil Mimari Rehberi | MVVM, Clean Architecture, offline-first, güvenlik | Mobil Mimari |
| Mobil Araçlar Rehberi | IDE, emülatör, debug, profiling, analiz araçları | Mobil Araçlar |
Terim Sözlüğü (Glossary)
| Terim (Term) | Açıklama (Description) |
|---|---|
| Bridge | React Native'de JavaScript ile native kod arasındaki iletişim köprüsü. New Architecture ile JSI tarafından değiştiriliyor (Communication bridge between JS and native code in RN) |
| Widget | Flutter'da her şey bir widget'tır — UI bileşenlerinin temel yapı taşı (Fundamental building block of Flutter UI) |
| Hot Reload | Uygulamayı yeniden başlatmadan kod değişikliklerini anında yansıtma — state korunur (Instantly reflect code changes without restart, state preserved) |
| Hot Restart | Uygulamayı yeniden başlatarak kod değişikliklerini yansıtma — state sıfırlanır (Restart app to reflect changes, state is reset) |
| AOT (Ahead-of-Time) | Derleme zamanında native koda çevrilme — production build'lerde kullanılır, yüksek performans (Compiled to native code at build time) |
| JIT (Just-in-Time) | Çalışma zamanında derleme — geliştirme sırasında Hot Reload'u mümkün kılar (Compiled at runtime, enables Hot Reload during development) |
| APK (Android Package Kit) | Android uygulamalarının dağıtım formatı — tek dosyada tüm mimariler (Android app distribution format) |
| AAB (Android App Bundle) | Google Play'in optimize edilmiş dağıtım formatı — cihaza özel APK üretir (Optimized Android distribution format, generates device-specific APKs) |
| IPA (iOS App Store Package) | iOS uygulamalarının dağıtım formatı (iOS app distribution format) |
| Provisioning Profile | iOS'ta uygulamanın hangi cihazlarda çalışabileceğini ve hangi servisleri kullanabileceğini tanımlayan sertifika dosyası (iOS certificate that defines app capabilities and allowed devices) |
| Keystore | Android uygulamalarını imzalamak için kullanılan şifrelenmiş anahtar deposu (Encrypted key storage for signing Android apps) |
| Deep Link | Uygulamanın belirli bir ekranına doğrudan yönlendirme yapan URL (URL that navigates directly to a specific screen in the app) |
| Universal Link | Apple'ın deep link implementasyonu — web URL'si ile uygulama ekranını eşleştirir (Apple's deep link implementation, maps web URL to app screen) |
| OTA (Over-the-Air) | App Store/Play Store güncellemesi olmadan uygulama kodunu güncelleme (Update app code without store submission) |
| Headless JS | React Native'de arka planda JavaScript görevi çalıştırma — UI olmadan (Running JS tasks in background without UI in React Native) |
| Native Module | JavaScript'ten erişilebilen platforma özgü native kod parçası (Platform-specific native code accessible from JavaScript) |
| Expo | React Native için yönetilen geliştirme platformu — kolay kurulum, EAS Build, OTA desteği (Managed development platform for React Native) |
| Dart | Google tarafından geliştirilen, Flutter'ın programlama dili — AOT ve JIT derleme destekler (Google's programming language for Flutter) |
| JSX | JavaScript içinde HTML benzeri sözdizimi — React ve React Native'de UI tanımlama (HTML-like syntax in JavaScript for defining UI) |
| Metro Bundler | React Native'in varsayılan JavaScript paketleyicisi — modül çözümleme ve dönüştürme (Default JS bundler for React Native) |
| Gradle | Android projelerinde kullanılan derleme ve bağımlılık yönetim aracı (Build and dependency management tool for Android) |
| CocoaPods | iOS projelerinde kullanılan bağımlılık yöneticisi (Dependency manager for iOS projects) |
| Pod | CocoaPods ile yönetilen tek bir iOS kütüphanesi/bağımlılığı (Single iOS library/dependency managed by CocoaPods) |
| Turbo Module | React Native New Architecture'da Bridge yerine kullanılan hızlı native modül sistemi (Fast native module system replacing Bridge in RN New Architecture) |
| JSI (JavaScript Interface) | React Native'de JS ve native arasında doğrudan iletişim — Bridge'i atlayarak yüksek performans (Direct JS-native communication bypassing Bridge) |
| Fabric | React Native'in yeni UI render sistemi — senkron native view erişimi (RN's new UI rendering system with synchronous native view access) |
| Platform Channel | Flutter'da Dart ile native (Swift/Kotlin) kod arasında iletişim kanalı (Communication channel between Dart and native code in Flutter) |
| Riverpod | Flutter için derleme zamanı güvenli, test edilebilir state management çözümü (Compile-safe, testable state management for Flutter) |
| EAS (Expo Application Services) | Expo'nun bulut tabanlı build, submit ve update servisleri (Expo's cloud-based build, submit and update services) |
| Skia | Flutter'ın kullandığı 2D grafik motoru — GPU hızlandırmalı render (2D graphics engine used by Flutter for GPU-accelerated rendering) |
| Tree Shaking | Kullanılmayan kodun son bundle'dan otomatik kaldırılması (Automatic removal of unused code from final bundle) |
Sık Yapılan Hatalar (Common Mistakes)
| Hata (Mistake) | Açıklama (Description) | Çözüm (Solution) |
|---|---|---|
| Her iki framework'ü aynı anda öğrenmeye çalışmak | Odak dağılır, hiçbirinde derinleşilemez | Birini seçip 3-6 ay odaklanın, sonra diğerine geçin |
| Native geliştirmeyi tamamen atlamak | Platform özgü sorunlarda çaresiz kalmak | Temel iOS/Android bilgisi edinin (build, signing, permissions) |
| Aşırı paket bağımlılığı | Bundle şişer, güncelleme zorlukları | İhtiyaç olmadan paket eklemeyin, native çözümleri değerlendirin |
| State management'ı erken seçmek | Proje ihtiyacı anlaşılmadan karmaşık çözüm | Önce Context/setState ile başlayın, ihtiyaç arttıkça geçiş yapın |
| Test yazmamak | Regresyon hataları, güvensiz refactoring | En azından kritik iş mantığı için unit test yazın |
| Platform farklarını göz ardı etmek | iOS ve Android'de farklı davranış, UX tutarsızlığı | Her iki platformda düzenli test edin |
Native vs Cross-Platform (Doğal Dil vs Çapraz Platform)
Mobil geliştirmede iki temel yaklaşım vardır: platformun kendi dilini kullanmak (native) veya tek kod tabanıyla her iki platformu hedeflemek (cross-platform).
Platform Dilleri (Native Languages)
| Özellik | Kotlin (Android) | Swift (iOS) |
|---|---|---|
| Geliştirici | JetBrains / Google | Apple |
| IDE | Android Studio | Xcode |
| UI Framework | Jetpack Compose | SwiftUI |
| Eski UI | XML Layouts | UIKit (Storyboard) |
| Dil tipi | Statik, JVM tabanlı | Statik, derlenmiş |
| Null safety | ✅ ? operatörü | ✅ Optionals |
| Coroutines/Async | Kotlin Coroutines | Swift Concurrency (async/await) |
| Öğrenme eğrisi | Orta (Java biliyorsan kolay) | Orta (Apple ekosistemi gerekli) |
| Paket yöneticisi | Gradle (Maven Central) | SPM (Swift Package Manager), CocoaPods |
| Minimum gereksinim | Windows/Linux/Mac | Sadece macOS + Xcode |
Native vs Cross-Platform Karşılaştırma
| Kriter | Native (Kotlin/Swift) | React Native | Flutter |
|---|---|---|---|
| Performans | En yüksek (%100 native) | İyi (%90-95, JSI/Fabric ile) | Çok iyi (%95-98, Skia ile) |
| UI/UX kalitesi | Platform native, mükemmel | Native bileşenler kullanır | Kendi render engine, pixel-perfect |
| Platform API erişimi | Direkt, sınırsız | Bridge/JSI ile (bazen native modül gerekir) | MethodChannel ile (bazen plugin gerekir) |
| Kod paylaşımı | ❌ Ayrı codebase (2x iş) | ✅ %85-95 paylaşım | ✅ %90-98 paylaşım |
| Ekip gereksinimi | Android + iOS ayrı ekip | Tek JavaScript/React ekibi | Tek Dart/Flutter ekibi |
| Geliştirme hızı | Yavaş (2 platform = 2x) | Hızlı (Hot Reload + tek kod) | Hızlı (Hot Reload + tek kod) |
| Uygulama boyutu | En küçük (~5-15 MB) | Orta (~15-30 MB) | Orta (~15-25 MB) |
| Hot Reload | Sınırlı (Compose Preview) | ✅ Hızlı | ✅ Çok hızlı |
| Topluluk | Büyük (resmi platform) | Çok büyük (JS ekosistemi) | Büyüyen (Google destekli) |
| İş ilanları (TR) | Orta | Yüksek | Büyüyen |
| Bakım maliyeti | Yüksek (2 codebase) | Düşük (tek codebase) | Düşük (tek codebase) |
| Mağaza onayı | Sorunsuz | Sorunsuz | Sorunsuz |
Ne Zaman Native Tercih Edilir? (When to Choose Native?)
Native seç:
- ✅ Performans kritik: oyunlar, AR/VR, video işleme, yoğun animasyon
- ✅ Platform-specific özellikler: WidgetKit (iOS), App Widget (Android), Wear OS, CarPlay
- ✅ Donanım erişimi yoğun: Bluetooth LE, NFC, sensörler, kamera pipeline
- ✅ Büyük şirket, ayrı iOS/Android ekibi var
- ✅ Uzun vadeli, tek platform odaklı proje
Cross-platform seç:
- ✅ Hızlı MVP, startup, küçük-orta ekip
- ✅ Her iki platformda aynı UI/UX isteniyor
- ✅ Web geliştiriciler mobil geçiyor (React → React Native)
- ✅ Bütçe sınırlı — tek ekip, tek codebase
- ✅ İçerik ağırlıklı uygulama (e-ticaret, sosyal medya, haber, CRM)
Kotlin vs Java (Android)
| Kriter | Kotlin | Java |
|---|---|---|
| Google desteği | Resmi birinci dil (2019+) | Eski varsayılan, hâlâ desteklenir |
| Null safety | ✅ Dil seviyesinde | ❌ NullPointerException riski |
| Syntax | Kısa, modern, okunabilir | Verbose, boilerplate fazla |
| Coroutines | ✅ Built-in async | Thread, AsyncTask (eski) |
| Data class | data class User(val name: String) | Getter/Setter/toString/equals/hashCode elle yaz |
| Extension functions | ✅ Mevcut sınıflara fonksiyon ekle | ❌ Yok |
| Interoperability | %100 Java ile uyumlu | — |
| Yeni proje | ✅ Kotlin kullan | ❌ Artık önerilmiyor |
Özet: Yeni Android projelerinde Kotlin kullan. Java sadece eski (legacy) projelerde karşına çıkar.
Swift vs Objective-C (iOS)
| Kriter | Swift | Objective-C |
|---|---|---|
| Apple desteği | Resmi birinci dil (2014+) | Eski varsayılan, bakım modunda |
| Null safety | ✅ Optionals | ❌ Nil mesaj gönderme (sessiz hata) |
| Syntax | Modern, temiz, okunabilir | C tabanlı, [object message] syntax |
| Performans | Çok yüksek (LLVM derleyici) | Yüksek |
| SwiftUI | ✅ Deklaratif UI | ❌ Sadece UIKit |
| Memory management | ARC (otomatik) | ARC (otomatik, ama manual de mümkün) |
| Protocol-oriented | ✅ Güçlü protocol/extension sistemi | Sınırlı |
| Yeni proje | ✅ Swift kullan | ❌ Artık önerilmiyor |
Özet: Yeni iOS projelerinde Swift + SwiftUI kullan. Objective-C sadece eski kütüphanelerde karşına çıkar.
Proje Senaryosuna Göre Tavsiyeler (Recommendations by Project Type)
| Senaryo | Tavsiye | Neden |
|---|---|---|
| MVP / Startup (hızlı çıkış) | React Native (Expo) | En hızlı geliştirme, JS bilen ekip kolay bulunur, Expo ile build/deploy kolay |
| E-ticaret uygulaması | React Native veya Flutter | Çapraz platform, hızlı iteration, UI yoğun ama performans kritik değil |
| Fintech / Bankacılık | Native (Kotlin + Swift) | Güvenlik kritik, platform API'lerine tam erişim, regülasyon uyumu |
| Sosyal medya uygulaması | React Native | Hızlı geliştirme, real-time özellikler (Firebase/Socket.io), geniş ekosistem |
| Oyun (2D basit) | Flutter | Skia render engine, animasyon gücü, tek codebase |
| Oyun (3D / performans) | Native veya Unity | GPU erişimi, performans kritik, cross-platform engine |
| İçerik uygulaması (haber, blog) | React Native (Expo) | Basit UI, hızlı geliştirme, OTA güncelleme (CodePush/EAS) |
| IoT / Bluetooth cihaz kontrolü | Native (Kotlin + Swift) | Donanım erişimi kritik, platform-specific API'ler |
| Kurumsal / Enterprise | Flutter veya Native | Pixel-perfect UI, uzun vadeli bakım, performans garantisi |
| Freelance / Ajans işi | React Native | Tek codebase = daha ucuz, JS ekosistemi geniş, hızlı teslim |
| Mevcut web uygulamasına mobil | React Native | React bilgisi transfer edilir, kod paylaşımı (web + mobil) |
| Çok platformlu (iOS+Android+Web+Desktop) | Flutter | Tek codebase ile 4 platform, en geniş platform desteği |
| AR / Kamera yoğun | Native (ARCore + ARKit) | Platform SDK'larına direkt erişim şart |
| Widget / Watch / CarPlay | Native | Platform-specific özellikler, cross-platform desteklemiyor |
| Prototip / Hackathon | React Native (Expo) | 1 günde çalışan uygulama, cloud build, anında test |
Bütçe ve Ekip Bazlı Tavsiyeler (Budget & Team Based)
| Durum | Tavsiye | Açıklama |
|---|---|---|
| Tek geliştirici, sınırlı bütçe | React Native (Expo) veya Flutter | Tek codebase, ücretsiz araçlar, community desteği |
| Küçük ekip (2-4 kişi) | React Native veya Flutter | Paylaşımlı kod, hızlı iteration |
| Orta ekip (5-10 kişi) | Flutter veya Native | Flutter: tek ekip, Native: ayrı iOS/Android ekipleri |
| Büyük ekip (10+ kişi) | Native (Kotlin + Swift) | Ayrı ekipler, platform-specific optimizasyon, uzun vadeli |
| Web ekibi mobilize oluyor | React Native | React/JS bilgisi direkt transfer edilir |
| Sıfırdan öğrenecek | Flutter | Dart kolay, dokümantasyon mükemmel, widget sistemi tutarlı |
| macOS'un yok (sadece Windows/Linux) | React Native veya Flutter (Android only) | iOS build için macOS veya EAS Build (cloud) gerekir |
Karar Özeti (Decision Summary)
Mobil uygulama yapacağım:
│
├── Tek platform mu?
│ ├── Sadece Android → Kotlin + Jetpack Compose
│ └── Sadece iOS → Swift + SwiftUI
│
├── Her iki platform mu?
│ ├── JS/React biliyorum → React Native
│ ├── Yeni öğrenmeye açığım, UI önemli → Flutter
│ └── Performans çok kritik → Native (her ikisi ayrı)
│
└── Web + Mobil + Desktop mu?
├── React Native + Expo (Web desteği var)
└── Flutter (iOS + Android + Web + Desktop)İlgili Rehberler (Related Guides)
- React Native Rehberi — Kurulumdan production'a React Native
- Flutter Rehberi — Dart ve Flutter ile mobil geliştirme
- Uygulama Yayınlama Rehberi — Store yayınlama ve CI/CD
- Mobil Mimari Rehberi — MVVM, Clean Architecture, güvenlik
- Mobil Araçlar Rehberi — IDE, debug ve profiling araçları
- JavaScript/TypeScript Rehberi — JS/TS temelleri
- React Rehberi — React temelleri (RN için ön koşul)
- API Geliştirme Rehberi — Mobil uygulamalar için API tasarımı