Publié le
2
August
2021
Meetup

React Native : Animation d'une app par Bam

Le développement mobile exige de porter une grande attention à l’UX et l’UI des applications. Au cours de ce Matters Meetup, Nicolas Djambazian, architecte développeur chez BAM, présente différentes façons d’utiliser les animations en React Native à travers une série d’exemples.

Équipe Matters


Tout d’abord il est important de garder à l’esprit quelques concepts clefs. Si les animations attirent l'œil et embellissent votre app, faites attention à la surcharge ! Favorisez l’animation de composants clefs pour capter l’attention de l’utilisateur. De plus, privilégiez des animations pas trop longues (300ms étant un bon compromis) afin de ne pas lasser l’utilisateur au fil du temps.


Les exemples techniques suivants explorent différentes API d’animation pour React Native utilisées dans différents contextes.


Animer un bouton


LayoutAnimation permet de générer une animation en un rien de temps à partir de styles sans avoir rien à faire, il suffit de l’intégrer dans le cycle de vie du composant ! Parfait pour des effets de transitions mais oblige à réutiliser le même composant afin que ce dernier puisse s’adapter.
Pour encore plus d’animations, React Native Animatable fournit une grande quantité d’animations préconstruites facilement intégrables.

Animer un changement de page


La première question à se poser est : y a-t-il des composants partagés entre les pages ? Si ce n’est pas le cas, alors votre gestionnaire de pagination (ex: react-navigation) vous offre des possibilités de personnalisation.
S’il existe un composant partagé cela devient plus compliqué car il est impossible de déplacer un composant d’une page à une autre. Une solution possible est de jouer sur la taille du composant en l’agrandissant mais cela oblige à perdre la pagination. D’autres solutions existent mais demande un développement plus complexe, il est donc déconseillé d’utiliser des animations dans ce cas.


Animer une icône


Animated est l’api de base pour les animations en React Native. Elle est plus complexe à prendre en main que les libs précédentes mais elle offre de très larges possibilités d’animation.
Tips : essayez d’animer tout ce qui n’impacte pas le layout ! N’animer pas de des propriétés telles que height, margin, top… mais privilégiez plutôt les transform, scale, translate, etc.


Animer au scroll


Utilisez des listeners afin de surveiller le scroll de l'utilisateur et contrôlez votre animation de la même manière que dans l’exemple précédent.
Tips : préférez les refs natives aux states afin d’éviter d’avoir trop de rerender


Animer avec Lottie


Développée par AirBnb, Lottie est une lib très facile d’utilisation permettant d’intégrer de superbes animations très rapidement ! Seul bémol : son fonctionnement se fonde sur l’utilisation d’un JSON descriptif de l’animation, uniquement exportable depuis Adobe After Effect.

Vous avez un projet ? Une suggestion ? Un mot doux ?

Nous contacter
Logo Matters

Product & Startup Studio

10 rue du Faubourg Poissonnière
75010 Paris

Recevoir la Newsletter qui Matters

Merci ! Votre demande a bien été reçue !
Oups ! Une erreur s'est produite lors de la soumission du formulaire.
Mentions légales