CodeBlanks Logo Icon CodeBlanks

TurboModules

TurboModules ve yeni mimari öğrenirsin.

TurboModules

TurboModules, React Native'ın yeni mimarisinin parçasıdır. Klasik köprüyü (bridge) JSI (JavaScript Interface) ile değiştirir. Çağrılar daha hızlıdır çünkü köprü asenkron kuyruğu ortadan kalkar; JS ve native doğrudan iletişim kurar.

Bir TurboModule, C++ ile yazılır ve JS tarafına doğrudan bağlanır. Eski native modüller hala çalışır ama yeni modüller TurboModule olarak yazılır. Yeni mimari (New Architecture) etkinleştirildiğinde TurboModules varsayılan hale gelir. requireNativeComponent ve benzeri API'ler yerini JSI tabanlı çağrılara bırakır.

Yeni mimari farkı

Yeni mimari, klasik köprüyü JSI ile değiştirir. Köprüde her çağrı bir kuyruğa girer ve asenkron işlenir; bu gecikme yaratır. JSI'da ise JS, native nesnelere doğrudan işaretçi erişimi sağlar; çağrılar senkron ve hızlıdır.

Bu, animasyonların ve yüksek frekanslı olayların (ör. kaydırma) daha akıcı olmasını sağlar. Yeni mimari açıldığında TurboModules otomatik etkinleşir; kod değişikliği gerekmez. Eski native modüller uyumluluk modunda çalışmaya devam eder.

Uygulama TurboModule çağrısı

Boş dosyayı tamamla. TurboModuleRegistry'i react-native'den içe aktar (var say). const Battery = TurboModuleRegistry.getEnforcing('Battery') ile modülü al. Battery.getLevel() çağrısını export async function olarak sar.

Başlangıç kodu

App.js
// Battery TurboModule'ünü al ve getLevel çağrısını dışa aktar

Örnek çözüm

App.js
import { TurboModuleRegistry } from 'react-native';

const Battery = TurboModuleRegistry.getEnforcing('Battery');

export async function getLevel() {
  return Battery.getLevel();
}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 TurboModules parçalarını eşle

Kavram Anlamı
TurboModules Yeni mimari
JSI Doğrudan arayüz
C++ Modül dili
New Architecture Yeni yapı

2 Yeni mimari arabirimi

Soru
TurboModules uses ____ for direct JS-native calls.
Cevap
TurboModules uses JSI for direct JS-native calls.

Açıklama: JSI doğrudan JS-native iletişim sağlar.

3 Yeni mimari neyi ortadan kaldırır?

  • Animasyonları
  • Stilleri
  • Klasik köprüyü Doğru cevap
  • Bileşenleri

Açıklama: Yeni mimari klasik köprüyü JSI ile değiştirir.

İleri seviye bölümündeki tüm dersler