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

Android Activity Result et Lynx 4 : deux évolutions du socle natif

2 min de lectureReact Native · Expo

Activity Result : le problème vient du moment de l’enregistrement

Matin Zadeh explique (nouvelle fenêtre) pourquoi un module React Native ne peut pas simplement appeler l’API Android moderne de retour d’Activity. AndroidX exige l’enregistrement avant l’état STARTED, alors que les modules natifs peuvent être créés paresseusement, après la reprise de l’Activity. Le résultat est une erreur de cycle de vie, même si le contrat demandé est valide.

Sa proposition expose l’enregistrement depuis ReactContext, puis rattache le launcher au registre de l’Activity disponible. Le billet présente encore la PR comme ouverte au moment de sa rédaction ; il ne constitue pas une annonce de disponibilité stable. Il rappelle aussi qu’Expo dispose déjà de registerActivityContracts.

Le problème concerne des fonctions ordinaires : sélection de contenu, permissions ou retour d’un écran système. Si Android tue puis restaure le processus pendant cette étape, une promesse JavaScript mémorisée avant l’interruption n’existe plus. Un module doit donc penser la restitution du résultat indépendamment du seul appel initial. C’est une contrainte de conception de l’API, pas un simple correctif dans MainActivity.

Lynx 4 adapte son rendu aux fenêtres qui changent

Lynx 4.0 (nouvelle fenêtre) ajoute des media queries et une adaptation aux appareils pliables. Le moteur met à jour les métriques, le viewport et les propriétés globales de chaque LynxView lorsque la fenêtre change de taille. Le billet annonce aussi l’ouverture de <webview> et un composant <blur-view> couvrant le flou natif et Liquid Glass selon la plateforme.

Lynx est une technologie distincte de React Native. Son intérêt dans cette veille est la direction du travail : raisonner sur la fenêtre courante et sur des capacités de plateforme, plutôt que figer une interface pour un modèle de téléphone. Une expérience mobile partagée gagne à définir ce qui doit rester commun — contenu, état, navigation — et ce qui peut s’adapter au système.

Pour une app React Native existante, ce billet constitue une comparaison technique. Il n’implique ni compatibilité directe des composants Lynx avec RN, ni nécessité de changer de moteur pour obtenir un layout adaptatif.

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