Essentiel
Les animations « drawing-based » sont des animations complexes et nécessitent très souvent des bibliothèques tierces.
Les animations « code-based » sont les plus courantes et permettent d'animer les widgets communs.
Les animations « code-based » se divisent en deux types : les animations implicites et les animations explicites.
Les animations implicites sont les plus rapides à implémenter. Elles permettent d'animer un child unique, qui ne se répète pas en boucle, et n'est pas discontinue (ne s'arrête pas pour reprendre après etc.).
Les animations implicites comprennent les AnimatedFoo (qui sont des « built-in ») et les TweenAnimationBuilder.
Les animations explicites sont plus complexes à implémenter, mais permettent de créer des animations discontinues, avec plusieurs child ou qui se répètent à l'infini.
Les animations explicites utilisent un AnimatedWidget (ou un AnimatedFoo « built-in ») ou un AnimatedBuilder.
Les animations explicites nécessitent l'utilisation d'un controller, tandis que les animations explicites n'ont besoin que d'être dans un StatefullWidget.