Yeni mimari nedir?
- React Native kursu
- Uzman
- Ders 1/47
- 5 dk
React Native yeni mimarisini öğrenirsin.
Yeni mimari nedir?
React Native 0.68'den itibaren yeni mimari kullanıma sunuldu. Eski köprü (bridge) yerine doğrudan JSI tabanlı iletişim gelir. İki ana parça var: Fabric (yeni UI render) ve TurboModules (yeni native modül sistemi).
Yeni mimari daha hızlı render, daha az bellek kullanımı ve senkron native çağrıları mümkün kılar. React Native 0.74'ten itibaren varsayılan olarak açıktır.
Fabric ve TurboModules
Fabric render katmanıdır. Eski UI manager yerine geçer; bileşen ağacını daha verimli çizer, eşzamanlı (concurrent) render desteği verir. TurboModules ise native modüllerin JS tarafına JSI üzerinden bağlanmasıdır; eski NativeModules yerini alır.
Eski requireNativeComponent yerine Fabric'in codegenNativeComponent kullanımı gelir. Native modüller TurboModuleRegistry ile kaydedilir. Bu sayede hem render hem de native çağrılar daha hızlı işler.
Yeni mimariyi açma
Yeni mimari android/gradle.properties ve iOS tarafında Podfile ayarları ile açılır. React Native 0.74+ projelerde varsayılan gelir; yine de newArchEnabled=true bayrağı eski projelerde elle eklenir.
Yeni bir Expo projesi bunu otomatik yapar. Mevcut kodda Interacitable gibi eski API'ler çalışmaz; yerine react-native-gesture-handler kullanılır.
Uygulama Yeni mimari bayrağını ekle
Android gradle.properties dosyasında yeni mimariyi açan bayrağı ekle. Değer true olsun.
Başlangıç kodu
# android/gradle.properties
# Yeni mimari bayrağını buraya ekle
android.useAndroidX=trueÖrnek çözüm
# android/gradle.properties
newArchEnabled=true
android.useAndroidX=trueSoru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Yeni mimari neyi kaldırır?
- FlatList bileşenini
- Köprüyü (bridge) Doğru cevap
- useEffect hook'unu
- StyleSheet API'sini
Açıklama: Yeni mimari köprüyü kaldırır, JSI ile doğrudan erişim verir.
2 Yeni render katmanını yaz
const Fabric = require('____');
const Fabric = require('Fabric');
Açıklama: Fabric yeni render katmanıdır.