Je me demande depuis un certain temps maintenant, pourquoi devrais-je utiliser Angulaire des animations les animations CSS. Je vois quelques domaines que l'on pourrait considérer avant de les utiliser:
Performance
Dans la première étape, j'ai trouvé cette question qui ne traite que de performace côté des choses. L'on a accepté la réponse n'est pas satisfaisante pour moi, car il indique que l'on devrait utiliser les animations CSS dans la mesure du possible, de sorte que les optimisations comme la course les animations dans le thread séparé peut s'appliquer. Cela ne semble pas être vrai, car Angulaire de la documentation unis
Angulaire des animations sont construites sur le dessus de la norme Animations Web de l'API et de l'exécuter en mode natif sur les navigateurs qui le supportent.
(l'emphase est mienne)
Et quand nous regardons les Animations Web API Projet de nous voir que les mêmes optimisations peuvent s'appliquer à Web des Animations CSS spécifié dans les fiches.
Alors qu'il est possible d'utiliser ECMAScript pour effectuer une animation à l'aide requestAnimationFrame [HTML], ces animations se comporter différemment des déclaratif d'animation en termes de la façon dont ils sont représentés dans la cascade CSS et les optimisations de performances qui sont possibles telles que l'exécution de l'animation sur un thread séparé. En utilisant le Web des Animations de l'interface de programmation, il est possible de créer des animations à partir d'un script qui ont le même comportement et les caractéristiques de performance que le déclaratif des animations.
(c'est moi qui souligne encore une fois)
En dehors de certains navigateurs comme IE ne prennent pas en charge les Animations Web, est-il une raison pour utiliser les déclarations CSS sur Angulaire des animations ou vice-versa? Je les vois comme échangeables performace-sage.
Plus de contrôle sur les animations
Cela peut paraître comme un argument pour Angulaires des animations, parce que vous pouvez mettre en pause l'animation ou de l'utilisation de JS variables avec elle, etc., mais la même chose est vraie en utilisant, par exemple. CSS animation-play-state: pause
ou à l'aide de CSS variables spécifiées dans JS, voir la documentation.
Maintenant, je peux voir, il pourrait être gênant pour définir le CSS variables dans le code JS, mais la même chose est vraie pour tout en utilisant Angulaire des animations. Ce sont généralement déclaré en @Component
animations
domaine et n'ont pas, sauf via l'animation des données d'état lié à la propriété, l'accès aux champs d'instance (si vous ne créez pas votre animation par AnimationBuilder
bien sûr, qui d'ailleur n'est également pas très pratique ou belle).
Autre point est que, avec les Animations Web API, il est possible d' inspecter, de débogage ou de tester les animations, mais je ne vois pas comment cela est possible Angulaire des animations. Si elle l'est, pourriez-vous me montrer comment faire? Si elle n'est pas, vraiment, je ne vois pas l'avantage de l'utilisation Angulaire des animations en CSS pour des raisons de contrôle de soit.
Nettoyeur de code
J'ai lu par exemple ici un paragraphe indiquant que la séparation entre les animations de "normal" styles est en fait la séparation du comportement et de la présentation. Est vraiment déclarant des animations dans des feuilles de styles mélange de ces responsabilités? J'ai vu que toujours dans l'autre sens, surtout en regardant les règles CSS dans l' @Component
animations m'a donné un sentiment d'avoir CSS déclarations sur l'un de trop nombreux endroits.
Alors, comment est-il Angulaire des animations?
- Est-ce juste une commodité utilitaire pour extraire les animations à l'écart du reste de l'styles, ou faut-il apporter quelque chose de digne de la fonctionnalité-sage?
- Ne un usage Angulaire animations payer seulement dans des cas particuliers, ou est-il une convention une équipe choisit d'aller tout le chemin avec elle?
J'aimerais ici sur les avantages tangibles de l'aide Angulaire des animations. Les gars merci d'avance!