Expo SDK 54 est sorti mi-2025. Après 9 mois d'utilisation sur 3 apps livrées, voici ce qui m'a vraiment changé la vie — et ce que j'évite encore.
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
npx expo install --fixpour aligner les libs.- Vérifier que toutes les libs natives supportent la New Architecture.
- Passer en mode dev-client, tester sur device réel.
- Mettre à jour eas.json pour EAS Update v2.
- Redéployer en prod avec un EAS Update avant le release store.
Pour mes 3 apps : ~4 heures de migration moyenne, pas de régression critique.