Écrans pliables et feeds vidéo : laisser le natif gérer la continuité
Arrangement View : deux panneaux qui suivent la fenêtre
react-native-arrangement-view (nouvelle fenêtre) fournit une disposition à deux panneaux adaptée aux changements de posture et d’orientation. Le projet s’appuie sur les composants natifs des plateformes et expose useHingeChange pour réagir à la charnière. Le hook doit être utilisé dans le contexte d’un ArrangementView. L’intégration nécessite un development build ; Expo Go ne contient pas ce module natif.
La distinction utile est celle du contenu et de sa présentation. Une boîte de réception peut garder le même message sélectionné lorsque sa liste et son détail passent d’une disposition compacte à une vue côte à côte. Démonter les deux panneaux et recréer leur état à chaque changement de posture ferait perdre précisément la continuité recherchée.
L’angle de charnière sert plutôt à une interaction liée au pli. Le choix du nombre de colonnes dépend de la place réellement disponible dans la fenêtre. Une app peut être étroite sans que l’appareil soit physiquement replié.
Infinite Media : un petit nombre de lecteurs pour une longue liste
expo-infinite-media (nouvelle fenêtre) propose un feed média fondé sur un pool de trois lecteurs natifs, AVFoundation sur iOS et Media3 sur Android. Le préchargement, l’annulation et le cache borné cherchent à conserver la vidéo prête au moment où l’utilisateur atteint l’élément suivant. Là encore, un development build est nécessaire.
Dans une liste verticale, créer un lecteur par cellule visible peut coûter cher lors d’un défilement rapide. Le pool permet de réaffecter un nombre limité de ressources. Cette réaffectation exige une identité claire : le lecteur qui finit de préparer une ancienne vidéo ne doit pas faire apparaître son image dans la nouvelle cellule.
Le cas révélateur est un changement de direction rapide, suivi d’un retour vers une vidéo déjà vue. Il exerce le préchargement, le cache et l’annulation en même temps. La fluidité dépend aussi de l’encodage et du réseau ; l’absence d’attente côté JavaScript ne garantit pas qu’un fichier distant arrivera à temps.
Ces deux bibliothèques ciblent des problèmes différents, mais partagent une idée utile : conserver l’état et les ressources pendant que l’interface change de forme, au lieu de tout reconstruire à chaque mouvement.
Un de ces sujets se pose dans votre app ? Un senior du collectif peut en parler avec vous.
Continuer la lecture
React Native · Expo
React Native 0.88 : migration iOS, bundling et gestes natifs
SceneDelegate et events RN, Noxcturnal, écrans pliables, Gesture Handler et tests : les changements à évaluer dans une app mobile.
React Native · Expo
Expo SDK 58 est disponible, React Native s’étend aux fenêtres spatiales
Modules natifs, Router et builds Android dans le SDK 58 ; un seul arbre React pour plusieurs panneaux Quest.
React Native · Expo
TeamReach : ce que douze OTA ont corrigé après une bascule
Un retour de production sur les données héritées, puis les nouvelles possibilités de navigation native en alpha.