Modül 02 · Mobil Uygulama

React Native ile Mobil Uygulama Geliştirme

React Native teknolojisiyle iOS ve Android uygulamanızı tek kod tabanından geliştirir, web sitenizle aynı API altyapısını paylaştırarak veri tutarlılığını ve geliştirme verimliliğini bir arada sağlarız.

Derinlemesine
01

Tek Kod Tabanı, İki Mağaza, Ortak API Katmanı

React Native projelerinde iOS ve Android arayüzleri aynı JavaScript/TypeScript kod tabanından üretilir; platforma özgü davranış gerektiren noktalarda ayrım yapılır, geri kalan mantık ortak kalır.

Bu yapının asıl değeri, mobil uygulamanın web sitenizle aynı API'yi tüketmesinde ortaya çıkar: ürün kataloğu, kullanıcı hesabı, sipariş veya randevu mantığı sunucu tarafında tek yerde tanımlanır, web ve mobil istemciler bu mantığı aynı uç noktalardan çeker. Böylece stok bilgisi, fiyat güncellemesi veya kullanıcı yetkisi gibi veriler tüm kanallarda eşzamanlı ve tutarlı kalır. Kod paylaşımı arayüz katmanıyla sınırlı değildir; doğrulama kuralları ve bazı iş mantığı fonksiyonları da web ile mobil arasında paylaşılabilir.

02

React Native mi, Flutter mı: Tercih Neden React Native'den Yana?

Flutter da tek kod tabanından iki platforma yayın yapar, ancak Dart dilini ve kendi render motorunu kullanır; bu da web tarafında React/JavaScript kullanan ekibin birikimini mobilde tekrar kullanamamasına yol açar.

React Native'i tercih etmemizin gerekçesi budur: web arayüzünüzü geliştiren aynı ekip, bileşen mantığını mobil tarafa doğrudan taşıyabilir. npm ekosistemindeki olgun kütüphaneler, kimlik doğrulama veya ödeme gibi yaygın ihtiyaçları hazır modüllerle çözer. Native bileşenlere doğrudan bağlanan mimarisi sayesinde arayüz platformun kendi bileşenlerine yakın davranır. Web ve mobili aynı anda yürüten projelerde React Native'in sağladığı kod ve bilgi paylaşımı verimliliği öne çıkar. Tek kod tabanı da mağaza kurallarına tabidir; App Store inceleme kılavuzu istisna tanımaz.

01 Tek kod tabanı Tek kod tabanı: JavaScript / TypeScript kod penceresinden iOS ve Android'e ayrılan iki dal — temsilî görsel Üstte üst barında "JavaScript / TypeScript" yazan bir kod penceresi ve içinde altı satır kod. Pencerenin altından çıkan gövde ortadan ikiye ayrılıyor; her dalın ucunda bir telefon çerçevesi var, solunun altında "iOS", sağınkinin altında "Android" yazıyor. En altta iki telefonun da dayandığı ortak bir bant: "Ortak API katmanı". Canlanmada kod satırları sırayla girer, sonra dallar çizilir. JavaScript / TypeScript iOS Android Ortak API katmanı
02 Platforma özgü nokta Platforma özgü nokta: ortak kod tabanından inen gövde üzerinde bir ayrım noktası ve iki yan kol — temsilî görsel Üstte "ortak kod tabanı" kutusu. Ondan aşağı inen ana gövde önce çizilir; gövdenin üzerinde, içinde küçük bir çatal ikonu bulunan elmas biçimli bir ayrım noktası var. Ayrımdan sola ve sağa çıkan iki kısa kolun ucunda "iOS modülü" ve "Android modülü" kutuları duruyor, her ikisinin altında kesik çizgili "gerektiğinde native" notu var. Ana gövde düz devam edip "Ortak kod" etiketine iner, en altta "geri kalan mantık ortak" notu yer alır. ortak kod tabanı iOS modülü gerektiğinde native Android modülü gerektiğinde native Ortak kod geri kalan mantık ortak
03 Neden React Native React Native ve Flutter kartlarının yan yana karşılaştırması — temsilî görsel Eşit ölçüde iki kart yan yana. Solda "React Native": dil rozetinde "JavaScript / TypeScript", altında üç özellik satırı — tek kod tabanı, npm ekosistemi, native bileşenler. Sağda "Flutter": dil rozetinde "Dart", altında üç satır — tek kod tabanı, kendi render motoru, iki platforma yayın. Sol kart aksan çerçeveli; sağ kart nötr çerçeveli ama yazıları sol kartla aynı parlaklıkta, üzerinde olumsuz bir işaret yok. En altta tek satır: "web ile aynı ekip ve bileşen mantığı". React Native mi, Flutter mı React Native JavaScript / TypeScript Flutter Dart tek kod tabanı tek kod tabanı npm ekosistemi kendi render motoru native bileşenler iki platforma yayın kod ve bilgi paylaşımı verimliliği
Temsilî görsel. Sayfanın anlattığı yolu çiziyor: tek JavaScript/TypeScript kod tabanından iOS ve Android'e çıkış ve ortak API katmanı, platforma özgü davranış gerektiren noktadaki ayrım ve yalnız orada devreye giren native modül, son olarak React Native ile Flutter'ın yan yana durması. Kutular örnek arayüz çizimidir, gerçek bir uygulamadan alınmadı; kod satırları ad uydurmamak için çubukla temsil edildi. Üçüncü duraktaki iki kart eşit ölçüdedir ve Flutter maddeleri sayfanın kendi ifadeleridir — kıyas bir puan ya da ölçüm değil, tercih gerekçesinin gösterimidir. Marka veya platform logosu kullanılmadı, rozetler yalnızca metindir.

Güncel fiyat ve süre bandı için Mobil Uygulama sayfasının fiyatlandırma bölümüne göz atın — kapsamınıza göre bandı iki dakikada netleştirebilirsiniz.

Kapsamı birlikte çıkaralımBeş adım, iki dakika. Ekranda süre ve fiyat aralığı çıkar.

Sık sorulanlar

Sık sorulan sorular: React Native ile uygulama geliştirme

React Native ile geliştirilen bir uygulama native uygulamadan performans olarak geride mi kalır?

Arayüz bileşenleri platformun kendi native bileşenlerine bağlandığı için günlük kullanımda fark hissedilmez. Yoğun grafik veya karmaşık animasyon gerektiren nadir senaryolarda ilgili modül native koda taşınarak performans açığı kapatılır.

React Native yerine Flutter neden tercih edilmiyor?

Flutter da tek kod tabanı sunar ancak Dart dili kullanır ve web ekibinizin React bilgisiyle örtüşmez. React Native'de aynı ekip bileşen mantığını paylaşabildiği için proje verimliliği daha yüksek kalır.

Web sitemizle aynı API'yi kullanmak ne gibi bir avantaj sağlıyor?

Ürün, kullanıcı ve sipariş gibi veriler sunucuda tek yerde tanımlanır; web ve mobil aynı uç noktaları çağırır. Böylece iki ayrı veri kaynağını senkron tutma derdi ortadan kalkar, bir tarafta yapılan güncelleme otomatik olarak diğerine yansır.

React Native uygulaması iki mağazaya nasıl gönderiliyor?

Ortak kod tabanı, platforma özgü derleme adımlarından geçirilerek ayrı iOS ve Android paketlerine dönüştürülür ve otomatik bir yayın hattıyla gönderime hazır hale getirilir.

Hangi projelerde React Native yetersiz kalır, native gerekir?

Yoğun sensör işleme veya platforma çok özgü grafik gereksinimi olan projelerde ilgili modülün native yazılması gerekebilir; uygulamanın geri kalanı React Native üzerinde kalabilir.

React Native ile geliştirilen bir uygulama ileride native'e geçirilebilir mi?

Evet, mimari modüler kurgulandığında ekranlar veya özellikler tek tek native koda taşınabilir. Bu geçiş kademeli yapılabildiği için mevcut uygulama kesintiye uğramadan, ihtiyaç duyulan bölümler zamanla native tarafa aktarılabilir.

Ayrıntılar

Karar vermeden önce bakmak isterseniz

  1. 01

    Native Köprü ve Üçüncü Parti Modül Entegrasyonu

    Kamera, biyometrik giriş veya push bildirimi gibi cihaza özgü yetenekler için React Native, native köprü (bridge) katmanı üzerinden platformun API'lerine erişir. Topluluk modülleri çoğu senaryoyu karşılar; özel donanım entegrasyonu gerektiğinde küçük bir native modül devreye alınır.

  2. 02

    State Yönetimi ve Ölçeklenebilir Proje Mimarisi

    Uygulama büyüdükçe ekranlar arası veri akışını yönetmek kritik hale gelir. TypeScript ile tip güvenliği sağlanan, katmanlı bir klasör yapısı ve merkezi state yönetimi kuruyoruz; API çağrıları ve hata yönetimi ayrı bir servis katmanında toplanır.

  3. 03

    CI/CD ve Mağaza Yayın Hattı

    Derleme, imzalama ve mağaza yükleme adımlarını otomatikleştiren bir CI/CD hattı kuruyoruz; her sürüm aynı kontrol adımlarından geçer ve iki mağazaya paralel gönderim standart bir işleyişe dönüşür.

CANLI DÖNGÜ

Tek Kod Tabanıyla İki Platforma Birden Açılın

React Native mimarisiyle iOS ve Android uygulamanızı web sitenizle aynı API üzerinde, tutarlı ve yönetilebilir bir yapıda kuralım. Proje kapsamınıza uygun teklif ve süreç detayları için fiyatlandırma bölümünü inceleyebilir veya ekibimizle doğrudan görüşebilirsiniz.