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.
İ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ı
Tek kod tabanı
iOS ve Android için TypeScript ile yazılan ortak ekranlar ve iş mantığı.
Native arayüz
Ekranlar telefonun kendi bileşenleriyle çalışır; web görünümü değil, gerçek uygulama.
Anlık düzeltme
EAS Update ile JavaScript tarafındaki düzeltmeler mağaza incelemesi beklemeden yayında.
Native modüller
Gerektiğinde Swift ve Kotlin ile yazılan modüller uygulamaya bağlanır.
Uygulama içi satın alma
Abonelik, kredi paketi ve tek seferlik satın alma iki mağazada birlikte.
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.
Platform kararı
React Native'in uygunluğu, native modül ihtiyacı ve Expo ile kurulum planı netleşir.
Tasarım
Ortak tasarım sistemi hazırlanır; iOS ve Android'e özgü farklar ekran ekran belirlenir.
Geliştirme
TypeScript ile iki haftalık dönemler; her dönemin sonunda iki platformda test sürümü.
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?
Tek kod tabanı maliyeti yarıya indirir mi?
Mağaza onayı olmadan güncelleme yapılabilir mi?
Mevcut web sitemizin kodu uygulamada kullanılabilir mi?
Expo kullanmak bizi bir firmaya bağımlı kılar mı?
React Native uygulaması kaç haftada hazır olur?
Bunlara da Göz Atın
Native iOS Uygulamaları
Swift ve SwiftUI ile iPhone, iPad ve Apple Watch için native uygulama; App Store başvurusu ve inceleme takibi dahil.
Detaylı bilgiNative Android Uygulamaları
Kotlin ve Jetpack Compose ile native Android uygulama; saha ve depo cihazları, Google Play kapalı test ve yayın dahil.
Detaylı bilgiFlutter
Flutter ile tek kod tabanından iOS ve Android; markaya özel arayüz ve yoğun animasyon isteyen uygulamalar için.
Detaylı bilgiReact Native Konuşalım
30 dakikalık ücretsiz keşif görüşmesi için iletişime geçin — projenizi birlikte değerlendirelim.