Aller au contenu
useffect.sh
Planifier 30 min avec un senior
Tous les articles
La veille du collectif

React Native Web prépare sa modernisation

2 min de lectureReact Native · Expo

Une direction conservatrice pour une base modernisée

La discussion officielle React Native Web #2872 (nouvelle fenêtre), ouverte le 7 octobre, annonce la reprise de la maintenance active avec Mathieu (@zoontek), Nicolas Gallagher, Expo et la communauté. Le déplacement du dépôt vers l’organisation React Foundation est annoncé. L’objectif reste de suivre les API React Native aussi étroitement que possible.

Le plan place les changements de compatibilité sur 0.22-dev : React 19 comme minimum, navigateurs à partir des versions d’octobre 2021, migration du code Flow vers TypeScript et publication ESM. La dépréciation de babel-plugin-react-native-web est proposée ; Expo CLI ne l’utilise déjà pas. Des API retirées du core RN doivent également disparaître du package web.

Le partage du code dépend aussi de la résolution des modules

Pour une app Expo universelle, le changement ne se limite pas à la couleur d’un bouton. Les alias, l’ordre des extensions .web.* et le format ESM déterminent quel code arrive dans le bundle web. Des imports CommonJS ou des outils de test plus anciens peuvent dépendre d’hypothèses qui n’apparaissent pas dans l’interface.

Une migration peut donc être préparée en recensant les composants réellement partagés et les adaptateurs web. Cela permet de distinguer un changement de surface publique d’une modification de la chaîne de compilation. Les navigateurs effectivement utilisés par le produit donnent, eux, le critère pour accepter le nouveau minimum.

Une feuille de route n’est pas une release déjà installée

La discussion sépare les travaux de modernisation d’idées ultérieures : plugins de bundler, remplacement de constantes de plateforme au build, gestion des assets et éventuelle extraction CSS. Ces pistes restent soumises aux retours de la communauté.

Le signal utile est la remise en mouvement du projet. Il ne faut pas convertir l’ensemble de ce programme en liste de fonctionnalités déjà livrées dans la version stable utilisée par une application.

Un de ces sujets se pose dans votre app ? Un senior du collectif peut en parler avec vous.