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

Écrans pliables et feeds vidéo : laisser le natif gérer la continuité

2 min de lectureReact Native · Expo

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.