Yerel (native) mi, çapraz platform mu, PWA mı? İşletmenize hangi mobil uygulama uygun?

Yerel (native), çapraz platform veya PWA: kısa cevap
İşletme uygulamalarının çoğu için Flutter veya React Native (Expo ile) gibi bir çapraz platform çatısı en iyi dengeyi sunar: tek kod tabanı, iki uygulama mağazası ve yerele çok yakın performans. Uygulamanız yoğun grafiklere, gelişmiş donanım erişimine veya platformun en yeni özelliklerine dayanıyorsa yerel geliştirmeyi (iOS için Swift/SwiftUI, Android için Kotlin) seçin. Mağaza listelemesi ya da derin cihaz erişimi gerektirmeyen iç araçlar ve basit kataloglar için ise aşamalı web uygulaması (PWA) çoğu zaman yeterlidir.
Yazının geri kalanı, herhangi bir kampın abartısına kapılmadan bu kararı kendi projeniz için nasıl vereceğinizi anlatıyor.
Üç seçenek, sade bir dille
- Yerel (native) geliştirme, iki ayrı uygulama yapmak demektir: iOS için Swift ile (genellikle SwiftUI kullanılarak) ve Android için Kotlin ile. Her biri kendi platformunun araçlarını ve arayüz bileşenlerini doğrudan kullanır.
- Çapraz platform geliştirme, hem iOS hem Android’de çalışan tek bir kod tabanı yazmak demektir. Flutter (Dart) arayüzünü kendisi çizer; React Native (JavaScript/TypeScript, çoğunlukla Expo ile) gerçek yerel bileşenleri kullanır. İkisi de App Store ve Google Play’de yayınlanan gerçek uygulamalar üretir.
- PWA (aşamalı web uygulaması), uygulama gibi davranan bir web sitesidir: ana ekrana eklenebilir, belli ölçüde çevrimdışı çalışabilir ve destekleyen platformlarda bildirim gönderebilir. Mağaza incelemesinden geçmez ve tarayıcı motorunda çalışır.
Yan yana karşılaştırma
| Kriter | Yerel (Swift / Kotlin) | Çapraz platform (Flutter, React Native) | PWA |
|---|---|---|---|
| Kod tabanı | İki ayrı kod tabanı | Tek ortak kod tabanı, gerektiğinde platforma özel kod | Tek web kod tabanı |
| Pazara çıkış süresi | En yavaş: iki uygulama geliştirilip test edilir | Hızlı: bir kez geliştirilir, iki mağazaya çıkar | Basit senaryolarda en hızlı |
| Performans ve animasyonlar | En iyisi, özellikle yoğun grafik ve karmaşık hareketlerde | Tipik işletme uygulamaları için çok iyi | İçerik ve formlar için iyi; yoğun animasyonda zayıf |
| Cihaz özellikleri (GPS, kamera, biyometri, Bluetooth, arka plan görevleri) | Tam ve anında erişim | Eklentilerle geniş erişim; nadir özellikler yerel modül gerektirebilir | Sınırlı, tarayıcıya ve işletim sistemine göre değişir; arka plan işleri kısıtlı |
| Çevrimdışı destek | Tam kontrol | Tam kontrol (yerel veritabanı, senkronizasyon) | Service worker ile mümkün ama daha sınırlı |
| Platforma özgü arayüz uyumu | Her platformla birebir | Yakın; React Native yerel bileşen kullanır, Flutter onları taklit eder | Özenle tasarlanmadıkça web hissi |
| RTL / Arapça metin | Olgun platform desteği | Destekleniyor, ancak her ekranın RTL testi gerekir | Tarayıcı desteği iyi; yerleşim yine test ister |
| Uygulama mağazasında yer alma | Evet | Evet | Varsayılan olarak hayır |
| Güncellemeler | Mağaza incelemesiyle | Mağaza incelemesiyle; JavaScript tabanlı uygulamalar mağaza kuralları dahilinde OTA (kablosuz) güncelleme gönderebilir | Anında, bir sonraki açılışta |
| Ekip ve işe alım | İki ayrı uzmanlık (iOS ve Android) | Tek ekip; React Native geniş JavaScript geliştirici havuzundan yararlanır | Web geliştiricileri |
| Uzun vadeli bakım | İşletim sistemi güncellemelerine uyması gereken iki uygulama | Tek uygulama, artı çatı ve eklenti yükseltmeleri | En düşük, ama tarayıcı yetenekleriyle sınırlı |
| Maliyet yapısı | En yüksek: geliştirme ve bakım iki kat | Daha düşük: ortak kod ve tek ekip | En düşük: tek site, mağaza yükü yok |
Arapça ve RTL hakkında bir not
Sağdan sola (RTL) destek, Körfez, Levant ve Türkiye için yapılan birçok uygulamanın sessizce bozulduğu yerdir. Flutter, React Native ve yerel platformların hepsi RTL yerleşimi destekler; ancak desteklemek ile doğru çalışmak aynı şey değildir. Ayna çevrilen ikonlar, Arapça ve Latin harflerin karıştığı metinler, cümle içindeki sayılar, tarih seçiciler ve üçüncü taraf bileşenlerin her biri iki yönde de kontrol edilmelidir. Hangi yaklaşımı seçerseniz seçin, her ekranı gerçek iOS ve Android cihazlarda Arapça ve diğer dillerde test etmek için zaman ayırın.
Yerel geliştirme ne zaman kazanır?
Yerel geliştirme şu durumlarda ek emeğe değer:
- Uygulama grafik ya da animasyon ağırlıklıysa: oyunlar, artırılmış gerçeklik (AR), gelişmiş kamera veya video işleme.
- Derin donanım entegrasyonuna dayanıyorsa: tıbbi ya da endüstriyel cihazlarla sürekli Bluetooth iletişimi veya uzun süreli arka plan görevleri gibi.
- Yeni işletim sistemi özelliklerine ilk günden ihtiyacınız varsa: widget’lar, saat uygulamaları veya platformun en yeni API’leri.
- Uygulama ana ürününüzse ve uzun vadede iki uzman ekibe bütçeniz varsa.
Çapraz platform ne zaman kazanır? (İşletme uygulamalarının çoğu)
Müşteri portalları, sipariş ve teslimat, rezervasyon, saha hizmeti araçları, personel uygulamaları ve sadakat programları gibi tipik işletme uygulamalarında çapraz platform genellikle doğru tercihtir:
- Tek kod tabanı, özelliklerin iOS ve Android’e aynı anda ulaşması demektir.
- İki yerel uygulama geliştirmeye göre daha hızlı teslimat ve daha düşük maliyet.
- GPS, kamera, anlık bildirimler ve biyometri gibi cihaz özellikleri, olgun kütüphanelerle iyi karşılanır.
- React Native ve Expo ile OTA güncellemeler, App Store ve Google Play kurallarına uyulduğu sürece JavaScript düzeltmelerini hızla ulaştırabilir.
Gerçek bir örnek: Noble Mobile, bir mimarlık firması için React Native (Expo) ile geliştirdiğimiz bir personel uygulamasıdır. GPS ile mesai giriş-çıkışı, izin talepleri ve onayları, devam takvimi, demirbaşlar ve destek talepleri gibi işlevleri Arapça ve İngilizce olarak sunar ve firmanın ERP sistemine bağlıdır. Tek ortak kod tabanının tam olarak karşılığını verdiği türden özellikler bunlar.
PWA ne zaman yeterlidir?
PWA şu durumlarda akıllı ve ekonomik bir seçimdir:
- Kendi ekibiniz için bir iç araçsa ve mağaza listelemesi pek bir şey katmıyorsa.
- Yoğun cihaz kullanımı yerine form ve içeriğe dayanan basit bir katalog, menü veya bilgi uygulamasıysa.
- Mağaza uygulamasına yatırım yapmadan önce bir fikri doğrulamak istiyorsanız.
- Mağaza incelemesini beklemeden anında güncelleme yapmanız gerekiyorsa.
PWA’ların tarihsel olarak iOS’ta Android’e göre daha sınırlı olduğunu unutmayın: kurulumu kullanıcılar için daha az belirgindir ve bazı cihaz ve arka plan özellikleri kısıtlı ya da kullanılamaz durumdadır. Ana kitleniz iPhone kullanıcılarıysa, karar vermeden önce ihtiyacınız olan özellikleri güncel iOS sürümlerinde test edin.
Seçim için pratik kontrol listesi
- Gerçekten ihtiyaç duyduğunuz cihaz özelliklerini listeleyin: GPS, kamera, biyometri, Bluetooth, çevrimdışı mod, arka plan görevleri.
- Uygulama mağazalarına ihtiyacınız olup olmadığına karar verin: bulunabilirlik, güven veya müşteri beklentisi açısından.
- Kitlenizin platformlarını belirleyin: çoğunlukla iPhone mu, çoğunlukla Android mi, yoksa ikisi birden mi?
- Çevrimdışı gereksinimleri tanımlayın: bağlantı yokken neyin çalışması gerektiğini ve verinin sonra nasıl senkronize olacağını.
- Dilleri ve RTL’yi erkenden planlayın: Türkçe, Arapça, İngilizce ve diğer diller dahil.
- Entegrasyonların haritasını çıkarın: ERP, CRM, ödeme altyapıları, haritalar, WhatsApp veya kendi API’leriniz.
- İki üç yıl sonra bakımı kimin yapacağını ve ekibinizin hangi becerilere sahip olduğunu düşünün.
- En küçük kullanışlı sürümle başlayın, sonra gerçek kullanıma göre büyütün.
Başlamadan önce sorulacak sorular
- Kusursuz çalışmazsa uygulamayı başarısız kılacak tek özellik hangisi?
- Kullanıcıların uygulamaya ilk günden mağazada ihtiyacı var mı, yoksa önce bir web sürümü olabilir mi?
- Değişiklikleri ne sıklıkla ve ne kadar hızlı yayınlamamız gerekecek?
- Kodun, mağaza hesaplarının ve arka ucun (backend) sahibi kim olacak?
- Uygulama mevcut sistemlerimize ve verilerimize nasıl bağlanacak?
- iOS ve Android büyük güncellemeler yayınladığında uygulamaya ne olacak?
Sık sorulan sorular
Çapraz platform uygulama, yerel uygulamadan daha mı yavaştır?
İşletme uygulamalarının çoğunda kullanıcılar fark görmez. Flutter ve React Native; formlar, listeler, haritalar ve panolar için yeterince hızlıdır. Fark; yoğun grafikli uygulamalarda, karmaşık animasyonlarda veya yoğun gerçek zamanlı işlemlerde ortaya çıkar ve orada yerel kod hâlâ öndedir.
Çapraz platform bir uygulama GPS, kamera ve Face ID veya parmak izini kullanabilir mi?
Evet. Hem Flutter hem React Native’in konum, kamera, anlık bildirim ve biyometrik kimlik doğrulama için olgun kütüphaneleri vardır. Nadir ya da çok yeni donanım özellikleri küçük bir özel yerel modül gerektirebilir; yetkin bir ekip bunu uygulamayı baştan yazmadan ekleyebilir.
PWA, App Store’daki bir uygulamanın yerini tutabilir mi?
Bazen. Mağazada görünürlüğe, derin cihaz erişimine veya güvenilir arka plan görevlerine ihtiyacınız yoksa PWA işi daha düşük maliyetle görebilir. iPhone kullanıcılarını hedefleyen müşteri uygulamalarında ise mağaza uygulaması genellikle daha iyi ve daha öngörülebilir bir deneyim sunar.
Arapça ve RTL’yi en iyi hangi yaklaşım yönetir?
Üçü de Arapçayı iyi yönetebilir, çünkü RTL; iOS, Android ve web’de yerleşik olarak desteklenir. Kalite, çatıdan çok ekibe bağlıdır: ayna çevrilmiş yerleşimler, karışık yönlü metinler ve üçüncü taraf bileşenler her iki dilde ekran ekran test edilmelidir.
Cortex nasıl yardımcı olabilir?
iOS ve Android uygulamalarını hem yerel olarak hem de çapraz platform çatılarla geliştiriyoruz ve varsayılan bir tercih yerine kullanıcılarınıza, bütçenize ve takviminize uyan yaklaşımı öneriyoruz. Uygulamalarımız en baştan çok dilli tasarlanır, halihazırda kullandığınız ERP, e-ticaret ve bulut sistemlerine bağlanır; hızlı teslimat da çalışma biçimimizin bir parçasıdır. Mobil uygulama geliştirme hizmetlerimizi inceleyin, çalışmalarımıza göz atın veya fikrinizi proje teklif sihirbazında anlatın.

