React Native + Expo, bir iOS ve Android uygulamasını tek bir kod tabanından, tek bir ekiple yayınlamanızı sağlar. Pratikte kodun %85 ila %95’i iki platform arasında paylaşılır: her ekranı bir kez yazar, her hatayı bir kez düzeltir ve App Store ile Google Play’e paralel olarak yayınlarsınız. Sonuç: iki ayrı native uygulamaya kıyasla geliştirme süresi ve bakım maliyeti yarıya iner; üstelik ürünlerin büyük çoğunluğu için deneyimden ödün vermeden.
Tek kod tabanı, tek ekip, iki mağaza
Native tarafında iki projeyi paralel yürütürsünüz: iOS için Swift bir uygulama, Android için Kotlin bir uygulama. İki ekip, iki backlog, yeniden üretilip düzeltilecek iki kat fazla hata. React Native bu mantığı tersine çevirir: tek bir TypeScript/React kod tabanı, gerçek native arayüz öğelerine dayanan bileşenlerle iki platformu birden yönetir. Pazartesi geliştirilen bir özellik, aynı gün iOS ve Android’de kullanılabilir olur.
Expo somut olarak ne getirir
- Sıfır yapılandırma: başlamak için Xcode veya Android Studio ile boğuşmaya gerek yok, ortam dakikalar içinde hazır.
- Over-the-air güncellemeler: bir düzeltmeyi mağaza incelemesinden tekrar geçmeden doğrudan kullanıcılara gönderirsiniz.
- Kullanıma hazır native API’ler: kamera, push bildirimleri, biyometri, konum, uygulama içi ödemeler.
- Bulut derlemeleri (EAS): yerel bir macOS makinesi olmadan imzalı iOS ve Android binary’lerini üretme.
- Milyonlarca kullanıcılı uygulamalar tarafından üretimde kullanılan olgun bir ekosistem.
Sınırlar: nerede zorlanır
React Native sihir değildir. Bazı uygulamaların, cross-platform yaklaşımının kötü ya da %100 native geliştirmeden daha zayıf yönettiği ihtiyaçları vardır. Dikkat edilecek durumlar:
- Yoğun hesaplama veya render: 3B oyunlar, video düzenleme, gerçek zamanlı artırılmış gerçeklik.
- React Native destek vermeden önce çıkan, çok yeni ya da platforma çok özgü donanım özellikleri.
- Özel native modüller: Swift veya Kotlin yazmanız gerektiği anda, «tek ekip» avantajının bir kısmını kaybedersiniz.
- Her milisaniyenin önemli olduğu karmaşık animasyonlarda aşırı performans kısıtları.
Ne zaman native tercih edilir
Platformun kendisi ürün olduğunda native doğru seçim olmaya devam eder: grafik performansıyla, gelişmiş sensörleriyle veya derin sistem entegrasyonuyla var olan ya da yok olan bir uygulama. Bir AAA oyun, bir video oluşturma aracı ya da bir işletim sisteminin en yeni API’lerini çıkış günü kullanan bir uygulama için iki native kod tabanı gerekçelidir. Geri kalan her şey için — mobil SaaS, pazar yeri, iş uygulaması, sosyal ağ, B2B aracı — React Native + Expo, görünür bir ödün vermeden gerçek ihtiyaçların %90’ını karşılar.
Her ekranı iki kez yazmak yalnızca platform ürünse anlamlıdır. Aksi halde aynı sonuç için iki kez ödeme yaparsınız.
V1 için ne değiştirir
Tek kod tabanı aynı zamanda tek bütçe ve tek takvim demektir. Bu yüzden Khufu mobil uygulamalarını React Native, Expo ve NestJS üzerine kurar: App Store ve Google Play’de gerçekten yayınlanabilir bir V1, 7 günde 15.000 € sabit fiyatla teslim edilir, kaynak kodu sizindir. Pazarınızı iki platformda aynı anda doğrular, ardından ürünü aylık bir bakım bütçesiyle (aylık 1.490 €’dan başlayan) geliştirirsiniz — hiçbir zaman iki kopya uygulama sürdürmeden.