Aller au contenu
Toutes les notes

Si t'as déjà écrit un Web Worker, tu sais déjà faire du multithreading en React Native

Jérémy Magrin

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

in
Depuis 2015, un seul thread JS fait tourner ton app en entier Parser un gros payload, hasher un fichier, filtrer une image Tout ça se bat avec ton UI pour le même runtime Ça bloque, ça saccade, et t'as appris à faire avec react-native-workers vient de sortir en alpha Signé Ammar Ahmed, en solo, sous licence MIT L'API c'est celle du Web Worker postMessage, onmessage, terminate, et c'est tout Rien de nouveau à apprendre si t'en as déjà touché un Là où les worklets partagent un runtime, chaque worker a le sien Un vrai runtime Hermes isolé sur son propre thread OS Son event loop, son bundle, tes imports, fetch, les timers Et tes modules natifs marchent dedans, Turbo comme Expo, iOS et Android Les chiffres de l'auteur: 2,58 Mo de logs parsés sur 8 workers, 54ms qui tombent à 17ms Mais pose-toi la vraie question avant de sortir l'artillerie La plupart du temps ton app rame pas à cause du CPU Elle rame à cause de tes re-renders et de tes listes mal gérées Le threading règle un vrai problème Dans 80% des cas, c'est pas le tien Ton app rame à cause du CPU, ou de tes re-renders ?

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