Ulaşım
- Adres:Batıkent Mh. 8910 Sk. 6. Etap 1H No: 18 Yeni Toki Eyyübiye / Şanlıurfa (Yeni Alım Satım Karşısı)
- Telefon:0 (545) 528 88 93
- eMail: info@alestaweb.com
2026 yılı itibarıyla React Native, yıllarca "yakında geliyor" dediğimiz New Architecture'ı artık tam anlamıyla hayata geçirdi. Alesta Web olarak bu dönüşümü yakından takip ediyor ve mobil uygulama geliştirme süreçlerimizde aktif olarak kullanıyoruz. TurboModules, Fabric Renderer ve JSI üçlüsü artık teorik değil, üretim ortamında çalışan gerçek bir mimari. Bu yazıda o dönüşümü tüm ayrıntılarıyla ele alıyoruz.
React Native'in eski mimarisinde JavaScript ve native taraf arasındaki iletişim tek bir "bridge" (köprü) üzerinden akıyordu. Bu köprü, JSON serializasyon/deserializasyon işlemleriyle çalışıyordu. Yani JavaScript tarafında oluşturulan her veri, native'e gönderilmeden önce JSON'a çevriliyor, native tarafta tekrar parse ediliyordu. Bu süreç hem yavaş hem de bellek açısından maliyetliydi.
Bunu biraz daha somutlaştıralım: Kullanıcı bir liste üzerinde hızlıca kaydırma yaptığında, her frame için JavaScript threadi ve native UI threadi sürekli haberleşmek zorundaydı. Her bu haberleşme bir serialization maliyeti taşıdığı için 60 fps'yi tutturmak gerçekten zordu. Büyük projelerde bu durum ciddi jank (takılma) sorunlarına yol açıyordu.
Alesta Web bünyesinde geliştirilen mobil projelerde bu sorunları bizzat yaşadık. Özellikle animasyon yoğun ekranlarda ve büyük veri listelerinde performans sorunları kaçınılmaz oluyordu. İşte tam bu noktada New Architecture devreye giriyor.
JSI (JavaScript Interface), React Native New Architecture'ın temel taşı. Eski köprü mimarisini tamamen ortadan kaldıran JSI, JavaScript'in doğrudan C++ nesnelerine referans tutabilmesini sağlıyor. Bu sayede serializasyon maliyeti ortadan kalktı, JavaScript ve native taraf arasındaki iletişim artık senkron ve doğrudan bellek referansları üzerinden gerçekleşiyor.
// Eski köprü yaklaşımı (Legacy Bridge)
// JS → JSON Serialize → Bridge → Deserialize → Native
// Her adımda gecikme ve bellek maliyeti var
// JSI yaklaşımı (New Architecture)
// JS → Direct C++ Memory Reference → Native
// Senkron, seri yok, gecikme minimum
JSI'nın getirdiği en büyük avantaj, JavaScript'in native host object'lere senkron erişebilmesi. Bu, özellikle animasyon kütüphanelerinde devrim yarattı. Reanimated gibi popüler animasyon kütüphaneleri artık JavaScript thread'ine bağımlı kalmadan UI thread üzerinde doğrudan çalışabiliyor.
Alesta Web'de React Native ile geliştirilen e-ticaret uygulamalarında JSI'ya geçişten sonra özellikle ürün listeleme ve kaydırma animasyonlarında belirgin iyileşmeler gözlemledik. Kullanıcı deneyimi açısından bu fark gerçekten hissedilebilir düzeyde.
Eski mimaride tüm native modüller, uygulama başlatılırken eksiksiz yükleniyordu. Kullanıcı o modülü hiç kullanmasa bile belleğe alınıyordu. TurboModules bu yaklaşımı tamamen değiştirdi: Lazy loading (tembel yükleme) prensibine göre bir modül, gerçekten ihtiyaç duyulduğu anda yükleniyor.
TurboModules aynı zamanda TypeScript ile tam tip güvenliği sunuyor. Codegen aracı sayesinde JavaScript ve native taraf arasındaki arayüzler otomatik olarak üretiliyor. Bu hem hataları azaltıyor hem de geliştirici deneyimini iyileştiriyor.
// NativeModuleExample.ts
import type { TurboModule } from 'react-native';
import { TurboModuleRegistry } from 'react-native';
export interface Spec extends TurboModule {
multiply(a: number, b: number): number;
getDeviceName(): string;
}
export default TurboModuleRegistry.getEnforcing<Spec>('NativeModuleExample');
Codegen bu tanımdan otomatik olarak hem iOS (Objective-C/Swift) hem de Android (Java/Kotlin) için native kod iskeletlerini üretiyor. Alesta Web projelerinde bu özelliği kullanırken özellikle native kamera ve bildirim modülleri entegrasyonunda ciddi zaman tasarrufu sağladığımızı belirtmeliyim.
Fabric, React Native'in yeni render motoru ve New Architecture'ın görsel tarafını oluşturuyor. Eski renderer'da UI güncellemeleri asenkron kuyruk üzerinden işleniyordu; Fabric ise React'ın concurrent rendering özelliklerini native tarafta tam anlamıyla destekliyor.
Fabric'in en kritik özelliği, React 18 ve 19 ile gelen concurrent mode desteği. Suspense, automatic batching ve transition API gibi modern React özellikleri artık native mobil uygulamalarda da kullanılabiliyor. Bu, uzun süredir web geliştiricilerinin mahkum olduğu, mobil geliştiricilerin ise sadece imrendiği bir özellik setiydi.
Fabric ile birlikte React Server Components da React Native ekosistemine girdi. Özellikle Expo Router ile kullanıldığında, sunucuda render edilen bileşenlerin mobil uygulamaya entegrasyonu mümkün hale geldi. Bu, özellikle veri yoğun uygulamalarda ciddi bir avantaj sağlıyor.
// app/products/[id].tsx — Server Component
export default async function ProductPage({ params }) {
// Bu kod sunucuda çalışır, client'a sadece render sonucu gider
const product = await fetchProduct(params.id);
return (
<View>
<ProductDetails product={product} />
<ClientInteractions productId={params.id} />
</View>
);
}
Expo, React Native ekosisteminin en önemli oyuncularından biri olmaya devam ediyor. SDK 53 ile New Architecture varsayılan olarak aktif hale geldi; SDK 54 ise bu mimarinin devre dışı bırakılabildiği son sürüm olarak tarihe geçti. Yani Expo SDK 55 ve sonrasında artık geri yol yok: New Architecture zorunlu.
Expo'nun precompiled XCFrameworks özelliği, özellikle iOS geliştiricileri için büyük bir zaman tasarrufu. Daha önce her clean build'de 2 dakika beklemek zorundaydınız; artık aynı işlem 10 saniyede tamamlanıyor. Bu, CI/CD pipeline'larında da ciddi maliyet tasarrufu demek.
# Expo CLI ile yeni proje oluştur
npx create-expo-app@latest MyApp --template blank-typescript
# New Architecture zaten aktif gelir (SDK 53+)
# Doğrulamak için:
cat app.json | grep newArchEnabled
# "newArchEnabled": true
# Geliştirme sunucusunu başlat
npx expo start
# iOS simülatörde çalıştır
npx expo run:ios
# Android emülatörde çalıştır
npx expo run:android
Alesta Web bünyesindeki mobil projelerde Expo SDK 54'e geçiş sürecimiz oldukça sorunsuz geçti. Expo'nun managed workflow'u sayesinde native kod yazmadan birçok gelişmiş özelliği kullanabiliyoruz. Müşterilerimize sunduğumuz uygulamaların build süreleri bu geçişten sonra belirgin şekilde kısaldı.
Bu soruyu müşterilerimiz sık sık soruyor ve doğrusu net bir "şu framework en iyi" cevabı vermek 2026'da hâlâ mümkün değil. Her ikisi de olgunlaştı, güçlendi ve kendi niş alanlarında gerçekten iyi iş çıkarıyor.
Flutter, Dart dilini kullanıyor ve doğrudan native koda compile ediyor — bridge yok, interpreter yok. Bu sayede 60-120 FPS animasyon performansı tutarlı bir şekilde elde edilebiliyor. Öte yandan React Native, artık yüz milyonlarca geliştirici tarafından bilinen JavaScript/TypeScript ekosistemine dayanıyor; bu da çok daha geniş bir kütüphane ve topluluk demek.
React Native ✅ için tercih edin:
- Büyük React/JavaScript ekibiniz varsa
- Web ile kod paylaşımı önemliyse
- Meta/Facebook ekosistemi ile entegrasyon gerekiyorsa
- Geniş npm kütüphane ekosistemi kritikse
- Expo'nun managed workflow'unu kullanmak istiyorsanız
Flutter ✅ için tercih edin:
- Piksel mükemmelliği gerektiren UI'lar için
- Yüksek performanslı animasyon yoğun uygulamalar için
- Mobile + Web + Desktop tek codebase istiyorsanız
- Dart öğrenmeye hazır bir ekibiniz varsa
- Google hizmetleriyle derin entegrasyon gerekiyorsa
Alesta Web olarak projeye ve müşteriye özel değerlendirme yapıyoruz. Web ağırlıklı, JavaScript bilen ekiplerle çalışılan projelerde React Native'i önerirken; yüksek grafik performansı gerektiren ve sıfırdan başlanan projelerde Flutter'ı değerlendiriyoruz. alestaweb.com üzerinden detaylı danışmanlık alabilirsiniz.
Teorik avantajlar güzel, ama somut rakamlar olmadan ikna edici değil. New Architecture'a geçiş yapan projelerde ölçülen gerçek dünya performans metriklerine bakalım.
Bu rakamlar özellikle ticari uygulamalar için son derece önemli. Bir e-ticaret uygulamasında %40 daha hızlı başlangıç süresi, kullanıcı kaybı (churn) üzerinde doğrudan olumlu etki yaratıyor. Google'ın araştırmalarına göre uygulama açılma süresindeki her 1 saniyelik iyileşme, dönüşüm oranlarını belirgin şekilde artırıyor.
# React Native DevTools (yeni unified profiler)
npx react-native start
# Flipper ile performans izleme
# Metro bundler üzerinden detaylı timeline görüntüleme
# Hermes profiler ile JavaScript thread analizi
# Android Studio CPU Profiler ile native thread analizi
# Systrace ile end-to-end frame analysis
adb shell atrace --list_categories
Alesta Web projelerinde sürekli performans monitöring yapıyoruz. New Architecture'a geçişten sonra kullanıcı şikayetleri azaldı ve uygulama mağazası puanları yükseldi. Bu somut iş değeri, teknik kararların ne kadar önemli olduğunu bir kez daha kanıtlıyor.
Hâlâ eski mimaride çalışan bir React Native projeniz varsa artık geçişi ertelememenizi tavsiye ederiz. React Native 0.81 ve Expo SDK 54, legacy architecture'ı destekleyen son sürümler. Bundan sonrasına upgrade etmek istiyorsanız New Architecture zorunlu.
# 1. React Native sürümünü güncelle
npx react-native upgrade
# 2. android/gradle.properties dosyasında New Architecture'ı etkinleştir
echo "newArchEnabled=true" >> android/gradle.properties
# 3. iOS için Podfile'ı güncelle
# ios/Podfile içinde:
# use_react_native!(:path => config[:reactNativePath], :hermes_enabled => true, :fabric_enabled => true)
# 4. Pod install
cd ios && bundle exec pod install
# 5. Projeyi build et ve hataları gözlemle
npx react-native run-android
npx react-native run-ios
# 6. Hermes JavaScript engine aktif mi kontrol et
# Metro bundler çıktısında "Using Hermes" görünmeli
Migration süreci görünenden daha kolay. Alesta Web olarak birkaç müşteri projesi için bu geçişi yaptık. Bağımlılık uyumsuzlukları dışında ciddi bir sorunla karşılaşmadık. Özellikle Expo kullanıyorsanız managed workflow sayesinde bu süreç çok daha az manuel müdahale gerektiriyor. alestaweb.com üzerinden bu konuda teknik destek alabilirsiniz.
React Native New Architecture, 2026 yılında artık bir vizyon değil, bir gerçeklik. JSI sayesinde serializasyon maliyeti ortadan kalktı, TurboModules ile uygulama başlangıç süreleri yüzde kırka kadar iyileşti, Fabric Renderer ise React'ın concurrent rendering özellikleri ile native mobil dünyayı buluşturdu. Expo SDK 54 ve sonrasında bu mimari kaçınılmaz; geç kalan projeler migration borcuyla boğuşacak.
Alesta Web olarak cross-platform mobil geliştirme alanındaki gelişmeleri sürekli takip ediyor, müşteri projelerinde en güncel ve verimli teknoloji yığınını kullanıyoruz. React Native New Architecture migration'ı, Expo entegrasyonu veya Flutter'a geçiş konularında destek almak için bizimle iletişime geçebilirsiniz.
© 2026 AlestaWeb