Aller au contenu
Toutes les notes

Tes Text et View en React Native ne sont pas des primitives

Jérémy Magrin

Développeur React Native Freelance Senior · Expo · iOS & Android

in
Et ça te coûte des frames, à chaque render C'est des wrappers JS qui tournent à chaque render, pour gérer des cas que tes écrans touchent rarement Sur un écran chargé, des centaines de ces composants, cette taxe par render finit par bouffer des frames Et là c'est intéressant, deux camps s'y attaquent en même temps Côté communauté, react-native-boost Un plugin Babel qui, au build, réécrit tes Text et View en composants natifs quand il peut prouver que c'est safe Tu changes rien à ton code, le wrapper saute Côté core, React Native a sorti son propre flag, reduceDefaultPropsInText, qui coupe une partie de la même surcharge nativement Maintenant l'honnêteté, parce que tu vas voir le chiffre passer Le "50% plus rapide" du plugin, c'est un écran de stress synthétique Sur RN récent, le reconciler s'est amélioré et le gain au render initial est retombé à 4-6% Le vrai intérêt reste les écrans qui se rafraîchissent beaucoup Sur du statique, c'est marginal Je l'ai pas encore mis testé et mis en prod, donc à tester chez toi La vraie question, tu ajoutes un plugin pour gratter ces frames maintenant, ou tu attends que le core avale l'optim ?

Lire sur LinkedIn

Pour aller plus loin

Qui écrit

J'aide startups et scale-ups à concevoir, construire et faire évoluer leurs applications mobiles iOS et Android. Je travaille au quotidien avec React Native, que je pratique depuis sa sortie en 2015, ainsi qu'avec Expo, React.js et TypeScript. J'interviens du MVP à la mise en production sur l'App Store et Google Play, jusqu'à l'optimisation fine des performances et la structuration des équipes techniques.

Expert React Native freelanceDéveloppeur Expo freelanceAudit de performance React Native

Parlons-en

Un projet en tête ?

Réponse garantie en moins d'une heure, et trente minutes d'audit offertes en visio.

M'écrireMaltLinkedIn

Emailcontact@magrin.fr

Téléphone+33 6 73 12 19 30

LocalisationParis, France · full remote