¿Qué es mejor: animaciones CSS o jQuery?

Generalmente uso las siguientes reglas cuando construyo animaciones web.

  1. Si es una animación simple o puedo hacerlo con bastante facilidad con CSS, lo hago. Las animaciones CSS me parecen muy fáciles de usar, bastante potentes y buenas para mantener javavscipt innecesario fuera de mi sitio. CSS generalmente puede cubrir una gran parte de mis necesidades de animación.
  2. Si la animación es más compleja, usaré JavaScript, pero generalmente terminaré usando una biblioteca específicamente diseñada para manejar animaciones. Algo como GSAP está muy optimizado para la animación y es bastante fácil de usar. Esto agrega una biblioteca adicional al proyecto, pero dependiendo de lo que estoy haciendo a menudo vale la pena.
  3. Si no necesito todo el poder de una biblioteca de animación dedicada y ya estoy usando un jQuery, podría quedarme con él para las animaciones. La distinción entre este y el punto anterior es la cantidad de animación que necesito hacer y qué tan fácil de mantener va a avanzar usando uno u otro.

CSS para transiciones simples (¿por qué agregar archivos .js adicionales o contaminar su código existente?) Y jQuery para animaciones compuestas debido a su patrón asincrónico.

jQuery también es realmente bueno solo para animaciones simples en nodos DOM. Para algo como gráficos 3D o SVG, puede usar WebGL, Three, React, Snap u otras bibliotecas de gráficos.

jQuery ofrece mucho más que animaciones. Pero, ¿qué quieres decir con “mejor”?

Y, por cierto, ¿te refieres a “mejor” en términos de velocidad, consumo de recursos, versatilidad o facilidad de comprensión / mantenimiento …?

Para animaciones más complejas, he estado usando Velocity.js para animaciones suaves y atractivas. Funcionará con IE de vuelta a IE8 y también funciona muy bien en los navegadores móviles. También es fácil de usar cuando te acostumbras. El enlace está abajo.

Velocity.js

¡¡Buena suerte!!

Abordo esto bastante similar a la respuesta de Peter Jewicz: en eso, incluso si ya estoy usando la biblioteca jQuery para mi proyecto, verifico si puedo lograr lo que necesito a través de animaciones CSS, luego, iría con jQuery, luego Un tercero.