Dans une vraie app
Le panneau Performance est celui que les équipes sous-utilisent. Combiné aux Web Performance APIs de React Native (stables depuis la 0.83 : performance.mark, performance.measure), il permet d’instrumenter un démarrage ou une navigation avec des marques posées dans le code et de les lire sur la même timeline que les rendus React. C’est la méthode que j’utilise pour objectiver un « l’app est lente » avant de toucher au code. Le panneau Network a ses limites documentées : WebSocket seulement sur le canal Canary depuis la 0.88, pas de mocking ni de throttling, et sur Expo le panneau « Expo Network » reste disponible à côté.
Le piège d’outillage classique est une version de React Native inférieure à 0.76 ou un moteur autre que Hermes : React Native DevTools n’est pas disponible, et les tutoriels pointent vers Flipper, dont l’intégration a été retirée du template. Autre cas fréquent : une boîte de dialogue « Debugging connection was closed » après un rebuild ou un crash ; « Reconnect DevTools » suffit une fois la cause réglée, sans relancer Metro s’il tourne encore.
Pour l’arbre React, le bouton « select element » localise un composant sur le device et le réglage « Highlight updates » montre les re-rendus en direct, ce qui règle la majorité des discussions sur les useMemo inutiles en quelques minutes.
Termes liés
Hermes
Le moteur JavaScript de Meta pour React Native, par défaut depuis la 0.70, qui précompile le bundle en bytecode au build.
Metro
Le bundler JavaScript de React Native : il résout, transforme et sérialise votre code en un bundle, et sert le dev server.
Fast Refresh
Le rechargement à chaud de React Native : une modification de composant est appliquée en une à deux secondes en conservant l’état local.
Cold start (temps de démarrage)
Le lancement de l’app depuis zéro, processus compris : natif, chargement du bundle, premier rendu React, jusqu’à l’écran utilisable (TTI).
Development build
Un build debug de votre propre app qui embarque expo-dev-client : vos modules natifs, plus un launcher pour se connecter à Metro.