Expo SDK 54'teki Yenilikler

Expo SDK 54 resmen yayımlandı ve React Native 0.81 / React 19.1 ile birlikte; derleme hızlarından tasarım diline, güncelleme deneyiminden bağımlılık yönetimine kadar iş akışını hissedilir biçimde iyileştiriyor. Bu sürüm; iOS’ta önceden derlenmiş RN paketleri, Android’de edge-to-edge’ın kalıcı hâle gelmesi, iOS 26 “Liquid Glass” desteği ve EAS/Updates tarafındaki kontrol artışıyla, evrensel (iOS/Android) uygulamalar için yeni bir taban çizgisi sunuyor.

iOS için Daha Hızlı Derleme: Ön Derlenmiş XCFrameworks

Expo SDK 54, React Native 0.81.3 ve React 19.1 ile birlikte geliyor. Bu sürüm, performans optimizasyonları, hata düzeltmeleri ve geliştirici deneyimini iyileştiren özelliklerle dolu. Özellikle iOS platformunda, ön derlenmiş XCFrameworks kullanımı sayesinde derleme süreleri ciddi şekilde azalıyor. Örneğin, RNTester uygulamasında derleme süreleri ~120 saniyeden → ~10 saniyeye kadar düşebiliyor (donanıma ve projedeki yerel modül sayısına göre değişebilir). Büyük projelerde bu iyileşme daha az belirgin olsa da, küçük projelerde React Native’in derleme süresine katkısı daha büyük olduğu için fark daha net hissediliyor. Bu yaklaşım, ileride CocoaPods’tan Swift Package Manager’a geçişin de yolunu açıyor.

Not: Eğer Podfile’ınızda use_frameworks! kullanıyorsanız, ön derlenmiş XCFrameworks’ten faydalanamazsınız ve React Native kaynak koddan derlenir. Yakın gelecekte bu durum için destek eklenmesi planlanıyor.

iOS 26 ve Liquid Glass Özellikleri

Liquid Glass Simgeler ve Icon Composer

Expo SDK 54, iOS 26’nın zarif Liquid Glass simgelerini destekliyor. Bu simgeleri oluşturmak için macOS’ta çalışan Icon Composer uygulamasını kullanabilirsiniz. Uygulama, .icon dosyası üretir ve bunu app.json’da ios.icon ile ekleyerek belirtebilirsiniz.

Not: Icon Composer yalnızca macOS’ta çalışıyor. macOS’a erişiminiz yoksa, .icon dosyalarının JSON tabanlı yapısı sayesinde alternatif araçlar geliştirilebilir. iOS 19 veya daha eski sürümlerde, işletim sistemi otomatik olarak uygun bir geri dönüş simgesi sağlar.

Liquid Glass Görünümleri

iOS 26’nın Liquid Glass efektlerini uygulamalarınıza entegre etmek için iki seçenek var:

UIKit ile: Yeni expo-glass-effect kütüphanesi, <GlassView> ve <GlassContainer> bileşenleriyle UIVisualEffectView tabanlı görünümler sunuyor. SwiftUI ile (Beta): expo-ui kütüphanesi, SwiftUI tabanlı bileşenleri destekliyor ve Liquid Glass efektleri için yeni modifikatörler sunuyor.

Android 16 ve Kenardan Kenara Tasarım

Expo SDK 54, Android 16 (API 36)’yı hedefliyor ve varsayılan olarak kenardan kenara (edge-to-edge) tasarımı etkinleştiriyor. Bu, modern Android cihazlarda tam ekran bir kullanıcı deneyimi sağlıyor. react-native-edge-to-edge kütüphanesi artık React Native’in çekirdeğine entegre edildiği için ayrı bir bağımlılık olarak eklenmesine gerek yok. Ancak, bu kütüphaneyi doğrudan kullanıyorsanız, npx expo install react-native-edge-to-edge komutuyla projenize ekleyin.

Geri kaydırma önizlemesi (predictive back gesture) özelliği varsayılan olarak devre dışı, ancak app.json’da android.predictiveBackGestureEnabled ile etkinleştirilebilir. (SDK 55 veya 56’da bu özelliğin varsayılan olarak etkin hâle getirilmesi planlanıyor.)

Apple TV ve Android TV Desteği

  • Apple TV: expo-sqlite, expo-background-task, expo-task-manager, expo-insights, expo-image-loader, expo-image-manipulator ve expo-video-thumbnails gibi paketler artık tvOS ile uyumlu. expo-dev-client’ın Apple TV desteği deneysel aşamada.
  • Android TV: Tam destek sağlanıyor.
  • tvOS projeleri, React Native 0.81’in ön derlenmiş framework’lerinden faydalanarak daha hızlı derleme süreleri sunuyor.

Yeni Kütüphaneler

  • expo-app-integrity: iOS’ta DeviceCheck ve Android’de Play Integrity API ile uygulama doğruluğunu kontrol eder. Uygulamanızın resmi mağazalardan yüklendiğini ve orijinal cihazlarda çalıştığını doğrulayabilirsiniz.
  • expo-blob (Beta): iOS ve Android’de binary large object’lerle çalışmak için W3C uyumlu bir kütüphane. Geri bildirimlerinizi bekliyor!
  • expo-maps: Google Maps için JSON ve Google Cloud tabanlı harita stil desteği, Apple Maps için POI filtreleme eklendi.

Eski Mimariye Veda

SDK 54, React Native Eski Mimarisini destekleyen son sürüm. SDK 55, yalnızca Yeni Mimariyi destekleyecek. Şu anda EAS’te oluşturulan SDK 53 projelerinin %75’i Yeni Mimari’yi kullanıyor. Geçiş için React Native’in Yeni Mimari rehberini inceleyin.

Önemli Kaldırılanlar ve Değişiklikler

  • expo-av SDK 55’te kaldırılacak; expo-audio ve expo-video’ya geçiş yapın.
  • expo-notifications’ın eski fonksiyonları kaldırıldı.
  • SafeAreaView yerine react-native-safe-area-context kullanın.

Nasıl Güncellenir?

Expo SDK 54’e geçmek için:
  • 1. EAS CLI’yi güncelleyin: npm i -g eas-cli
  • 2. Bağımlılıkları güncelleyin: npx expo install expo@^54.0.0 --fix
  • 3. Doktor kontrolü yapın: npx expo-doctor@latest
  • 4. Native dizinleri temizleyin: android ve ios dizinlerini silin; bir sonraki build’de yeniden oluşturulacak.
  • 5. iOS için pod kurulumu: npx pod-install çalıştırın.
  • 6. Changelog’u inceleyin: Expo SDK 54 Changelog sayfasını ziyaret edin.