Dans une vraie app
Dans un projet, l’installation se vérifie en trois points : react-native-reanimated et react-native-worklets dans les dépendances avec des versions compatibles (la table de compatibilité est dans la doc), le plugin Babel react-native-worklets/plugin en dernière position dans babel.config.js, et un build natif refait après installation. L’erreur « Native part of Reanimated doesn’t seem to be initialized » vient presque toujours d’un cache Metro ou d’un build natif oublié.
L’API à maîtriser : useSharedValue, useAnimatedStyle, withTiming, withSpring, withDecay, les modificateurs withDelay, withRepeat, withSequence, et useAnimatedScrollHandler pour tout ce qui suit un scroll. Le piège le plus courant est de lire .value d’une shared value dans le rendu React : la valeur lue est celle du thread JS, pas celle de l’animation en cours. Le second est de faire du travail lourd dans un worklet, qui bloque alors le thread UI à la place du thread JS.
Reanimated 4 exige la New Architecture ; un projet encore sur l’ancienne doit rester en 3.x. Les animations CSS (animationName, transitionProperty sur un Animated.View) couvrent les cas simples avec moins de code et sont une bonne porte d’entrée pour une équipe venue du web. Pour mesurer, le panneau Performance de React Native DevTools montre si une animation tombe sur le thread JS.
Termes liés
Worklet
Une petite fonction JavaScript que le plugin Babel de Reanimated extrait pour l’exécuter sur le thread UI, dans un runtime séparé.
Gesture Handler
La librairie de Software Mansion qui reconnaît les gestes (pan, tap, pinch…) côté natif et les combine, avec des callbacks exécutés sur le thread UI.
New Architecture
La réécriture du cœur de React Native (Fabric, Turbo Modules, JSI), activée par défaut depuis la 0.76 et seule architecture depuis la 0.82.
JSI (JavaScript Interface)
L’API C++ qui laisse JavaScript tenir des références directes sur des objets natifs, sans sérialisation : la fondation de la New Architecture.
Fabric
Le renderer de la New Architecture : un cœur C++ partagé entre iOS et Android qui calcule le layout de façon synchrone.