Sommaire

Expo SDK 54 apporte son lot d'améliorations. Voici les points forts qui changent la donne au quotidien — et ce qu'il vaut mieux encore éviter.

New Architecture par défaut

Fabric + TurboModules activés par défaut depuis SDK 52, complètement débugués en SDK 54. Les perfs sur les listes complexes (plus de 500 items dynamiques) sont enfin à la hauteur. Plus besoin de fondue getItemLayout ou de tricherie FlatList.

Migration : ~95 % des apps passent sans changement. Les 5 % restants sont des libs natives non migrées, heureusement de plus en plus rares.

expo-router 4

expo-router est maintenant stable pour de bon. Le file-based routing à la Next.js est productif : layouts imbriqués, typed routes, deep linking natif.

// app/_layout.tsx
import { Stack } from 'expo-router';
export default function Layout() {
  return <Stack screenOptions={{ headerShown: false }} />;
}

// app/(tabs)/profile/[id].tsx
import { useLocalSearchParams } from 'expo-router';
export default function Profile() {
  const { id } = useLocalSearchParams<{ id: string }>();
  return <ProfileView id={id} />;
}

Typed routes activés : les erreurs de navigation sont détectées à la compilation. Énorme.

EAS Update v2

Les updates OTA (sans passer par les stores) sont maintenant différentielles. Un bugfix JS d'un kilo-octet télécharge 1 ko, pas 2 Mo comme avant. UX utilisateur largement améliorée sur les lignes lentes.

expo-image 2

Gestion avancée du cache, fallback SVG natif, lazy loading intelligent. Remplace définitivement Image + FastImage.

Build locaux avec EAS Build Local

Vous pouvez maintenant exécuter eas build --local pour builder sur votre machine sans créditer votre quota EAS cloud. Gain de temps sur les itérations.

Ce que j'évite encore

  • expo-av : toujours capricieux sur Android. Je préfère react-native-track-player pour l'audio long.
  • Notifications avec Expo Go : en 2026 il faut vraiment un dev build, pas d'exception possible.

Migration SDK 52 → 54

  1. npx expo install --fix pour aligner les libs.
  2. Vérifier que toutes les libs natives supportent la New Architecture.
  3. Passer en mode dev-client, tester sur device réel.
  4. Mettre à jour eas.json pour EAS Update v2.
  5. Redéployer en prod avec un EAS Update avant le release store.

En pratique, la migration s'effectue généralement sans régression critique.

Besoin d'une app mobile React Native livrée proprement ?