Mobil Uygulama

React Native Uygulama Geliştirme

iOS ve Android uygulamasını tek bir TypeScript kod tabanından geliştiriyor, Expo ile derleyip iki mağazaya birlikte gönderiyoruz.

Kısaca

İzmir'deki Vevona ekibi, React Native ve Expo ile tek kod tabanından hem iOS hem Android uygulaması geliştiriyor. Bu yol; iki platformda aynı işi yapan müşteri uygulamaları, web tarafında React kullanan ekipler ve sık güncellenen ürünler için uygun. Barkodla alerji kontrolü yapan SafeFood uygulamasını bu şekilde geliştirdik.

Hizmetin Öne Çıkanları

01
⚛️

Tek kod tabanı

iOS ve Android için TypeScript ile yazılan ortak ekranlar ve iş mantığı.

02
📱

Native arayüz

Ekranlar telefonun kendi bileşenleriyle çalışır; web görünümü değil, gerçek uygulama.

03
🔄

Anlık düzeltme

EAS Update ile JavaScript tarafındaki düzeltmeler mağaza incelemesi beklemeden yayında.

04
🧩

Native modüller

Gerektiğinde Swift ve Kotlin ile yazılan modüller uygulamaya bağlanır.

05
💳

Uygulama içi satın alma

Abonelik, kredi paketi ve tek seferlik satın alma iki mağazada birlikte.

06
🏗️

EAS ile derleme ve yayın

Bulutta derleme, App Store Connect ve Google Play'e doğrudan gönderim.

Çalışma Akışımız

Şeffaf, ölçülebilir ve zaman çizelgesi belli bir teslim süreci.

1

Platform kararı

React Native'in uygunluğu, native modül ihtiyacı ve Expo ile kurulum planı netleşir.

2

Tasarım

Ortak tasarım sistemi hazırlanır; iOS ve Android'e özgü farklar ekran ekran belirlenir.

3

Geliştirme

TypeScript ile iki haftalık dönemler; her dönemin sonunda iki platformda test sürümü.

4

Beta

TestFlight ve Google Play kapalı test ile iki platformda eş zamanlı deneme.

Yayın ve güncelleme

İki mağazaya başvuru; ardından EAS Update ile düzeltmeler ve düzenli sürüm yükseltmeleri.

React Native nedir, tek kod tabanı ne demek?

React Native, iOS ve Android uygulamalarını tek bir JavaScript ya da TypeScript kod tabanından geliştirmeye yarayan, Meta'nın başlattığı açık kaynaklı bir çatıdır. React Native'de uygulamanın ekranları ve iş mantığı TypeScript ile bir kez yazılır, iOS'ta ve Android'de telefonun kendi arayüz bileşenleriyle çalışır. Kullanıcı bir web sayfası değil, gerçek bir mobil uygulama görür. Kodun büyük kısmı iki platformda ortak olduğu için tasarım, test ve hata düzeltme de büyük ölçüde tek seferde yapılır.

Tek kod tabanı, iki platformun tamamen aynı olduğu anlamına gelmiyor. İzin istemek, bildirim, uygulama içi satın alma ve mağaza kuralları her platformda ayrı ele alınır. Gerektiğinde Swift ya da Kotlin ile yazılan küçük native modüller React Native koduna bağlanır. Bu yüzden React Native projelerinde iki platformun native tarafını da bilmek gerekiyor; native iOS ve native Android uygulamalarını da aynı ekip geliştiriyor.

SafeFood: React Native ve Expo ile geliştirdiğimiz bir ürün

SafeFood, gıda alerjisiyle yaşayan kişilerin market alışverişi için geliştirdiğimiz uygulama. Barkodu okutulan ürünün içindekiler listesi, kişinin seçtiği alerjilere ve şiddet düzeyine göre değerlendiriliyor. Sonuç Uygun, Dikkat ya da Uzak Dur olarak geliyor ve kararın dayandığı kelime etiketin üzerinde vurgulanıyor.

Projede React Native ve Expo ile kurduğumuz başlıca parçalar:

  • Karar motoru telefonda çalışıyor; misafir kullanıcının alerji profili ve tarama geçmişi sunucuya gönderilmiyor
  • Uygulama içi satın alma: barkodu olmayan ürünlerde etiketi yapay zekâ ile okuma ayda 3 kez ücretsiz, fazlası kredi paketi ya da aylık planla
  • Çocuk, eş, anne gibi aile profilleri arasında tek dokunuşla geçiş
  • Arayüz 10 dilde; restoranda garsona gösterilecek alerji kartı da 10 dilde

Uygulamanın ilk sürümü, her alerjen için ayrı uygulamalardan oluşan bir aileydi. Yeni sürümde hepsini kişisel profille çalışan tek uygulamada topladık. SafeFood, İngiltere pazarı öncelikli olarak App Store yayınına hazırlanıyor.

React Native Expo nedir: EAS ile derleme, yayın ve anlık düzeltme

Expo, React Native uygulamalarını kurmayı, derlemeyi ve mağazalara göndermeyi kolaylaştıran açık kaynaklı bir araç takımıdır. React Native projelerimizi Expo üzerinde kuruyoruz. Expo'nun bulut servisi EAS, iOS ve Android sürümlerini derleyip doğrudan App Store Connect'e ve Google Play'e gönderiyor. Böylece derleme ortamı tek bir geliştiricinin bilgisayarına bağlı kalmıyor; ekipte kim olursa olsun aynı sürüm aynı şekilde üretiliyor.

EAS Update ile yalnız JavaScript tarafını değiştiren düzeltmeler, mağaza incelemesi beklenmeden kullanıcılara ulaştırılabiliyor. Bunun iki sınırı var. Yeni bir izin, native kütüphane ya da Expo sürüm yükseltmesi gerektiren değişiklikler yine mağazadan yeni sürümle gider. Apple ve Google'ın kuralları da bu yolla uygulamanın amacını değiştirmeye izin vermiyor. Biz bu kanalı hata düzeltmeleri ile küçük metin ve içerik değişiklikleri için kullanıyoruz.

Ne zaman React Native, ne zaman başka bir yol?

React Native'i şu durumlarda öneriyoruz:

  • Uygulama iki platformda da aynı işi yapacak ve bütçe iki ayrı native uygulamaya yetmiyor
  • Web tarafınız React ya da Next.js ile yazılmış; doğrulama kuralları, veri tipleri ve API istemcisi web ile paylaşılabilir
  • Sık güncelleme ve hızlı hata düzeltme önemli

Şu durumlarda başka bir yolu tartışıyoruz:

  • Uygulamanın merkezinde yoğun 3D, artırılmış gerçeklik ya da uzun süreli arka plan işi var: native geliştirme daha uygun
  • Tasarım iki platformda birebir aynı olmalı ve çok sayıda özel animasyon içeriyor: Flutter değerlendirilebilir
  • Kullanıcı uygulamayı nadiren açacak: mobil PWA yeterli olabilir

İzmir'de React Native uygulama fiyatı ve bakım

Tek kod tabanı geliştirme süresini kısaltır ama sıfırlamaz; iki platformda test ve iki mağazada yayın yine ayrı iştir. Vevona'da yönetim paneli olmayan bir ilk sürüm KDV hariç 120.000 – 250.000 TL, yönetim paneli ve entegrasyonları olan bir uygulama 300.000 – 750.000 TL tutuyor. Bu aralıklar, ilk aşamada yalnız iOS'ta yayınlanıp Android'e sonra açılan uygulamalar için de geçerli. Aralığın neresinde olacağınızı belirleyen başlıca kalemler şunlar:

  • Birbirinden farklı akışların ve kullanıcı rollerinin sayısı
  • Sunucu ve yönetim panelinin hazır olup olmadığı
  • Uygulama içi satın alma ya da abonelik
  • Native modül ihtiyacı
  • Dil sayısı ve çevrimdışı çalışma

Bakım tarafında React Native'e özgü bir kalem var: React Native ve Expo yılda birkaç kez yeni sürüm yayınlıyor, kullanılan kütüphanelerin de bu sürümlere uyması gerekiyor. Bu yükseltmeleri biriktirmeden, düzenli aralıklarla yapıyoruz; ertelenen sürüm geçişleri büyüdükçe pahalılaşır. Teslimden sonraki destek dönemi bu yükseltmeleri de kapsıyor; süresi projeye göre belirlenir ve teklifte yazılır.

Sık sorulan sorular

React Native ile yapılan uygulama yavaş olur mu?
Liste, form, harita ve ödeme ağırlıklı uygulamalarda kullanıcı native bir uygulamayla arasındaki farkı hissetmez. React Native'in yeni mimarisi, JavaScript ile telefonun native katmanı arasındaki iletişimi hızlandırdı. Yoğun 3D, artırılmış gerçeklik ya da ağır görüntü işleme gereken uygulamalarda ise native geliştirmeyi öneriyoruz.
Tek kod tabanı maliyeti yarıya indirir mi?
Yarıya indirmez, ama iki ayrı native uygulamaya göre belirgin bir tasarruf sağlar. Tasarım, iş mantığı ve hataların çoğu tek seferde ele alınır; iki platformda test, mağaza başvuruları ve platforma özgü bölümler yine ayrı iştir. Teklifte bu kalemleri ayrı satırlarda gösteriyoruz.
Mağaza onayı olmadan güncelleme yapılabilir mi?
Yalnız JavaScript tarafını değiştiren düzeltmeler EAS Update ile mağaza incelemesi beklenmeden yayınlanabilir. Yeni izin, native kütüphane ya da büyük bir özellik içeren değişiklikler yine mağazaya yeni sürüm olarak gönderilir. Apple ve Google bu kanalın uygulamanın amacını değiştirmek için kullanılmasına izin vermiyor.
Mevcut web sitemizin kodu uygulamada kullanılabilir mi?
Web siteniz React ile yazılmışsa veri tipleri, doğrulama kuralları ve API çağrıları gibi iş mantığı paylaşılabilir. Arayüz bileşenleri ise doğrudan taşınmaz; mobil ekranlar ayrıca tasarlanıp yazılır. Sunucu tarafı ve yönetim paneli çoğu zaman olduğu gibi kullanılır.
Expo kullanmak bizi bir firmaya bağımlı kılar mı?
Expo açık kaynaklı bir araç takımı ve uygulamanın kodu yine standart bir React Native projesidir. EAS'in derleme ve güncelleme servislerini kullanmak zorunlu değil; aynı işler kendi derleme ortamınızda da yapılabilir. Kaynak kodun ve hakların durumu teklifte ve sözleşmede açıkça yazılır.
React Native uygulaması kaç haftada hazır olur?
Az ekranlı bir ilk sürüm yaklaşık 8 haftada iki mağazaya birden çıkabilir; iki ayrı native uygulamaya göre kazanılan süre en çok tasarımda ve iş mantığında. Ödeme, yönetim paneli ve entegrasyon içeren uygulamalar 12 haftadan uzun sürer. Mağaza inceleme ve kapalı test süreleri takvimde ayrıca gösterilir.

React Native Konuşalım

30 dakikalık ücretsiz keşif görüşmesi için iletişime geçin — projenizi birlikte değerlendirelim.

Ücretsiz Teklif Formu

Size 24 saat içinde dönüş yapacağız.