MOBİL UYGULAMA YAPMA
iOS native mi, Android native mi, yoksa tek kod tabanıyla iki platformu birden mi hedeflemeli? Mobil uygulama yapma kararının teknik kısmının %80'i bu seçimde bitiyor. Üstelik bu seçim "hangi dili öğrenirim" sorusundan çok daha derin: ekibin büyüklüğü, bütçe, app store puanı beklentisi, kamera ve sensör ihtiyacı, beş yıl sonra kodu kimin sürdüreceği — hepsi bu satırda kesişiyor.
Bu yazıda mobil uygulama yapmak için kullanılan beş ana yolu — Swift, Kotlin, Flutter, React Native ve .NET MAUI — performans, maliyet, geliştirici havuzu ve uzun vadeli bakım kolaylığı açısından karşılaştıracağız. Adım adım proje sürecini değil, kararı tartışacağız. Genel pazara hızlı bakış için Apple Developer ve Android Developer hub'ları her zaman birinci ağız referans olarak kalır.
Native mi Cross-Platform mı?
Soruyu yanlış kuranlar genellikle "hangisi daha iyi?" diye sorar. Doğru soru şu: "Benim projemin kısıtları hangisini gerektiriyor?" 2026 itibarıyla yeni başlatılan mobil uygulamaların yaklaşık üçte ikisi cross-platform çerçevelerle yazılıyor. Geriye kalan üçte birlik native dilimi rastgele değil; belirli senaryolarda native hâlâ tartışmasız tercih.
Karar üç eksende verilir: donanım yakınlığı (kamera pipeline'ı, AR, gelişmiş biyometri, gerçek zamanlı ses işleme), platforma-özgü deneyim (iOS ve Android için ayrı ayrı en iyi hissedilen UI) ve kaynak ekonomisi (tek ekip mi, iki ekip mi). İlk iki eksende ciddi taleple geliyorsanız native, üçüncüsünde ise cross-platform öne çıkar.
Bir e-ticaret uygulamasıyla bir görüntü işleme tabanlı sağlık uygulaması aynı çerçevede yazılamaz. İlki Flutter veya React Native ile altı haftada MVP'ye çıkar; ikincisi native modüller yazmadan saniyede 60 kare canlı kamera akışını işleyemez. Bu farkı görmeden seçim yapmak, üç ay sonra refaktöre dönen bir karara dönüşür.
iOS Swift Ne Zaman Tercih Edilir?
Swift ile iOS native geliştirme dört tipik durumda hâlâ ilk tercih:
- App Store'da premium konumlanma: Apple kullanıcılarının ödeme oranı Android'in 3 katı civarında. Premium tüketici uygulamaları (meditasyon, fitness, dergi, indie oyun) çoğunlukla iOS-first başlar.
- Yeni iOS özelliklerine gün-bir erişim: Dynamic Island, Live Activities, Vision OS entegrasyonu, App Intents gibi yeni API'ler Swift'te lansman günü kullanılabilir. Cross-platform çerçeveler bu özellikleri 6-12 ay gecikmeyle sarar.
- Derin sensör/biyometri entegrasyonu: Face ID ile karmaşık akışlar, ARKit, HealthKit, HomeKit'in tüm yüzeyi.
- Apple Watch ve Vision Pro genişletmesi: WatchOS uygulamaları sadece Swift ile yazılır; cross-platform alternatif yok.
iOS'a tek platform olarak odaklanmak istiyorsanız Swift + SwiftUI kombinasyonu modern, deklaratif ve hızlı. Detaylı öğrenme yolu için iOS Swift eğitimi içeriğine göz atabilirsiniz.
Android Kotlin Ne Zaman Tercih Edilir?
Kotlin, Google'ın resmi Android dili olduğu 2017'den bu yana ekosistemin omurgası. Aşağıdaki senaryolarda Android native tercih edilmesi gereken yol:
- Türkiye ve gelişmekte olan pazarlar: Android cihaz payı %70'in üzerinde. Yerel pazarı hedefleyen bir ürün için Android-first yaklaşımı anlamlı.
- Cihaz parçalanması yönetimi: Yüzlerce farklı Android cihazı, ekran boyutu ve sürümü üzerinde nüanslı kontrol native'te çok daha rahat. Cross-platform çerçeveler bu fragmantasyonun bir kısmını gizler ama sınır durumlarda yine native'e iner.
- Arka plan servisleri: Foreground service, WorkManager, BLE üzerinden uzun süreli bağlantı, geofencing — Android'in bu alandaki API'leri zengin ve karmaşık. Cross-platform paketler bu yüzeyin yarısını sarar.
- Android-specific donanım: NFC ödeme uygulamaları, IoT cihaz entegrasyonu, özelleştirilmiş kamera erişimi (CameraX).
Jetpack Compose ile birlikte Kotlin artık deklaratif UI'a da geçti; SwiftUI ile yapısal olarak çok benzer. Android tarafına derinlemesine girmek isteyenler için Android Kotlin eğitimi sistematik bir başlangıç noktası.

Flutter Hangi Senaryoda Kazanır?
Google'ın Flutter çerçevesi, Dart dili ve kendi rendering motoru (Impeller, 2023 itibarıyla Skia yerine) ile cross-platform tarafının pazar lideri. 2026'da mobil geliştiriciler arasında yaklaşık %46 pazar payına ulaştı. Flutter'ın güçlü olduğu noktalar net:
- Piksel piksel kontrol: UI ekrana doğrudan Flutter'ın kendi motoru tarafından çizilir; platform widget'larından bağımsızdır. iOS ve Android'de bire bir aynı görünmesini istiyorsanız Flutter rakipsiz.
- Performans yakınlığı: Dart kodu ARM makine koduna derlenir. Standart iş uygulamalarında native'le hissedilebilir bir fark yok. Animasyon ağırlıklı arayüzlerde Flutter sık sık React Native'in önünde.
- Tek kod tabanından çok hedef: Aynı kod iOS, Android, web, Windows, macOS ve Linux'a çıkabilir. Bu özellik kurumsal iç araçlarda kayda değer bir avantaj.
- Google'ın uzun vadeli yatırımı: Fuchsia, Material 3, Google ürünleri (Stadia eski dönem, Google Pay parçaları) Flutter ile yazıldı. Çerçevenin terk edilme riski düşük.
Zayıf yönleri: Dart, JavaScript veya Kotlin kadar yaygın olmayan bir dil; ekip kurarken havuz daha dar. Ayrıca uygulama boyutu hello-world düzeyinde bile 4-5 MB ile başlar — native'e göre büyük. Resmi dokümantasyon için Flutter ana sayfası referans.
React Native Kimler İçin Uygun?
React Native, Meta tarafından 2015'te duyuruldu ve 2024 itibarıyla "New Architecture" (Fabric + TurboModules + Hermes) ile eski JavaScript bridge'in yarattığı performans kuyruğundan kurtuldu. 2026'da %35-38 cross-platform pazar payıyla Flutter'ın hemen ardında.
React Native'in en güçlü yönü tartışmasız geliştirici havuzu. JavaScript ve React zaten en kalabalık ön yüz ekosistemi; web ekipleri mobil tarafa minimal sürtünmeyle geçer. Tipik bir tercih senaryosu:
- Web tarafında React kullanan bir ekip mobil ürün ekleyecek.
- MVP hızı kritik, üç ay içinde her iki platformda lansman zorunlu.
- Çoğu özellik standart (liste, form, API çağrısı, push notification), donanıma derin inmiyor.
- Backend ve mobil arasında kod paylaşımı (validation, type tanımları) önemsenecek.
Expo platformu son birkaç yılda React Native başlangıcını ciddi şekilde basitleştirdi; OTA güncelleme, build pipeline ve native modül yönetimi büyük ölçüde otomatik. Sistematik öğrenme için React Native eğitimi takip edilebilir bir müfredat sunar. Resmi referans React Native sitesinde sürdürülüyor.
.NET MAUI ve Xamarin Geçişi
Xamarin, Microsoft'un mobil çerçevesiydi; 2024 Mayıs'ında resmen son kullanım gününü gördü ve yerini .NET MAUI'ye bıraktı. C# ve XAML kullanarak iOS, Android, macOS ve Windows uygulamalarını tek kod tabanından üretiyor.
.NET MAUI'nin baskın olduğu yer kurumsal iç uygulamalar. Aşağıdaki üç şart aynı anda varsa MAUI ciddi bir kandidattır:
- Mevcut .NET ekibi: Backend zaten C# / ASP.NET ise mobil tarafa geçiş minimal sürtünmeli olur.
- Windows masaüstü hedefi: Aynı kod iOS, Android'in yanında WinUI 3 üzerinden Windows'a da çıkıyor — saha personeli için ortak araç.
- Kurumsal güvenlik / Active Directory entegrasyonu: Microsoft ekosistemiyle derin entegrasyon ihtiyacı.
Tüketici tarafı için .NET MAUI ekosistemi Flutter ve React Native kadar zengin değil; üçüncü taraf paket havuzu daha sığ. Bu nedenle iş uygulamaları dışındaki senaryolarda öncelikli tercih değil.
Performans Karşılaştırması
"Native her zaman daha hızlıdır" cümlesi 2018'de doğruydu, 2026'da kalibrasyon ister. Tipik bir iş uygulamasında (liste, form, API çağrısı, basit animasyon) native, Flutter ve React Native arasındaki fark kullanıcı tarafından hissedilmez. Fark gerçekten ortaya çıktığı yerler:
| Senaryo | Native | Flutter | React Native |
|---|---|---|---|
| Liste kaydırma 60 fps | Sorunsuz | Sorunsuz | Yeni mimaride sorunsuz |
| Karmaşık animasyon | En akıcı | Çok yakın | İyi, sınır durumda native modül |
| Canlı kamera filtresi | İdeal | Native modül gerekir | Native modül gerekir |
| Soğuk açılış süresi | En kısa | Orta | Hermes ile orta |
| Bellek kullanımı | En düşük | Orta-yüksek | Orta |
| İndirme boyutu | ~5 MB | ~15-20 MB | ~10-15 MB |
Pratik yorum: kullanıcı uygulamayı açtığında ilk yarım saniyede ne hissediyor sorusu önemli. Native bu süreyi her zaman avantajlı geçer. Ama uygulamanın "hızlı" hissetmesi sadece teknik metriklerle değil, ilk ekrana ne kadar veri yüklediğinizle, splash screen'i nasıl tasarladığınızla da ilgili.

Maliyet ve Geliştirici Havuzu
Mobil uygulama yapmanın maliyeti büyük ölçüde "kaç ekip" kurduğuna bağlı. İki platformu native olarak hedeflemek iki ekip demek; cross-platform tek ekip. Sektör ortalamalarına göre cross-platform yaklaşımı toplam geliştirme maliyetini %30-40, lansman süresini %30-50 oranında düşürüyor.
Ama bu rakam yanıltıcı olabilir. Eğer:
- Uygulamanız native modül yazmayı çok gerektirecek karmaşıklıkta ise tasarruf hızla erir.
- Ekibinizde C# ya da Dart bilen kimse yoksa öğrenme eğrisi maliyeti şişirir.
- Tek platforma odaklıysanız (örneğin yalnız iOS) cross-platform'un kazandırdığı bir şey yok.
Geliştirici havuzu açısından sıralama: JavaScript (React Native) > Kotlin (Android) > Swift (iOS) > C# (MAUI) > Dart (Flutter). Türkiye iş ilanı sayısı bu sırayı genel olarak takip ediyor, Dart pozisyonları diğerlerine göre belirgin az.
Karar Matrisi
Aşağıdaki karar matrisi mobil uygulama yapmaya başlarken ilk eleme için kullanılabilir:
- Sadece iOS, premium tüketici uygulaması, App Store odaklı
- Swift + SwiftUI
- Sadece Android, Türkiye/yerel pazar, donanım odaklı
- Kotlin + Jetpack Compose
- İki platform, UI tutarlılığı kritik, animasyon ağırlıklı
- Flutter
- İki platform, ekipte React/JavaScript bilgisi yaygın, MVP hızlı çıkmalı
- React Native (tercihen Expo ile)
- Kurumsal iç uygulama, .NET backend, Windows hedefi var
- .NET MAUI
- Kamera/ses işleme, AR, biyometri yoğun, performans birinci öncelik
- Native (Swift ve Kotlin paralel)
- Watch, TV veya Vision Pro genişletmesi planlanıyor
- iOS tarafı zorunlu Swift
Karar verilince geri dönmek pahalı. Üç ay sonra Flutter'dan native'e geçmek altı haftalık bir refaktör; React Native'den Swift'e geçmek ise pratikte sıfırdan yazmak demek. İlk seçim için bir saat fazladan düşünmek, sonraki altı ayı kurtarır.
Sık Sorulan Sorular
Native ile cross-platform arasındaki performans farkı 2026'da hâlâ önemli mi?
Standart iş uygulamalarında kullanıcı hissedebilir bir fark yok. Fark kamera pipeline'ı, gerçek zamanlı ses işleme, karmaşık AR sahneleri ve cihaz başına 60 fps animasyon gerektiren oyun benzeri uygulamalarda ortaya çıkar. Bu senaryolarda native hâlâ tartışmasız avantajlı; diğer her durumda Flutter ve React Native işi yapar.
Flutter mı React Native mi seçilmeli?
Ekibin mevcut becerisi belirler. JavaScript ve React zaten varsa React Native daha hızlı çıkış. UI'ın iki platformda piksel piksel aynı olması veya animasyon ağırlıklı bir deneyim hedefleniyorsa Flutter öne çıkar. Geliştirici havuzunda JS daha kalabalık; UI hassasiyetinde Flutter önde. Performansta ikisi de iş uygulamaları için yeterli.
iOS uygulamayı Android'e nasıl taşırım?
Mevcut iOS native uygulamayı Android'e taşımak otomatik araçla olmuyor — diller, framework'ler ve UI paradigmaları farklı. İki seçenek var: ya Android tarafı için Kotlin ile sıfırdan yazılır ya da uzun vadede her iki platformu cross-platform bir çerçeveye (Flutter veya React Native) taşıma kararı alınır. İkinci yol genelde bir yıl alır ama sonrasında tek kod tabanı kazandırır.
Xamarin hâlâ kullanılıyor mu?
Xamarin'in resmi desteği Mayıs 2024'te sona erdi. Var olan Xamarin projeleri .NET MAUI'ye geçiriliyor; yeni proje başlatmak için Xamarin tercih edilmez. C# ekosistemine bağlı kalmak isteyenlerin tercihi artık .NET MAUI. Microsoft, MAUI'yi .NET sürüm döngüsüne entegre etti, çerçeve aktif geliştirme altında.
Tek bir uygulama hem iOS hem Android'de aynı görünmek zorunda mı?
Zorunda değil, hatta çoğu durumda istenmez. Apple'ın Human Interface Guidelines ve Google'ın Material Design felsefeleri farklı; geri butonu, navigasyon konumu, paylaşma ikonu bile farklı yerde. Flutter bile artık platforma göre adaptif widget'lar öneriyor. "Aynı görünmek" kararı genelde markanın bilinçli bir tercihi; varsayılan değil.
Mobil uygulama yapmaya hangi dilden başlamak en mantıklı?
Daha önce programlama deneyimi yoksa JavaScript (sonra React Native) en yumuşak başlangıç. Java/Kotlin geçmişi varsa Android native doğal devam. iOS'a sevdalıysanız Swift modern ve okunaklı bir dil; SwiftUI ile birlikte hızlı öğrenilir. Dart sadece Flutter için anlam taşıdığından, çerçeveye karar vermeden Dart'a yatırım yapmak rasyonel değil.
Cross-platform seçtiğimde donanım erişimini kaybeder miyim?
Tamamen değil, ama doğrudanlık azalır. Flutter ve React Native standart sensörlere (kamera, GPS, ivmeölçer, mikrofon, biyometri) hazır paketler üzerinden erişir. Niş donanım ihtiyacında (özel Bluetooth profili, NFC ödeme akışı, AR pipeline) ya native modül yazılır ya da o kısım native bir bileşen olarak entegre edilir. Yani %85 senaryo paket ile çözülür, kalan %15 için biraz native köprü yazma maliyeti vardır.
Mobil uygulama yapma kararı tek bir doğrunun olmadığı bir kavşaktır; senaryonuza, takımınıza ve hedefinize göre değişir. Native'in keskin avantajları varken, cross-platform'un ekonomik gücü 2026'da artık tartışılmıyor. Önemli olan kararı duygusal değil, yukarıdaki eksenler üzerinden vermek ve seçimden sonra o yolun en iyi pratiklerine bağlı kalmaktır.



