Evolution of Web Animations

Rate this content
Bookmark

Las animaciones en la web siempre han parecido algo imposible de hacer bien. Con JavaScript complejo necesario para hacer algo atractivo y muchas matemáticas requeridas, las animaciones a menudo se ignoran. Pero, ¿y si hubiera una mejor manera? ¿Y si pudieras simplemente decirle al navegador qué va a animar y dejar que el navegador se encargue del resto? Entra View Transitions.

View Transitions es una nueva característica web que permite a los desarrolladores construir animaciones atractivas sin tener que sumergirse en trabajar con JavaScript para hacerlo. ¡Veamos cómo agregar View Transitions a nuestra aplicación y cómo impulsar animaciones atractivas con facilidad!

This talk has been presented at JSNation US 2024, check out the latest edition of this JavaScript Conference.

Mike Hartington
Mike Hartington
28 min
18 Nov, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
MacroMedia Flash revolucionó el desarrollo web al permitir la creación fácil de animaciones. Las animaciones web evolucionaron de meta tags a animaciones de keyframe y animaciones de JavaScript. View transitions proporcionan una mejor solución al crear transiciones animadas entre estados del DOM. Las transiciones de vista avanzadas permiten rastrear cambios en el DOM y lograr características poderosas como animar elementos con display:none. El enfoque de animaciones web utiliza la técnica de animación flip para revelar información. Astro es un proyecto que adopta view transitions y ofrece soporte integrado. React tiene buen soporte para view transitions. Las view transitions son actualmente compatibles con la mayoría de los navegadores principales. Las animaciones CSS y las transiciones de forma se pueden integrar fácilmente para personalizar el comportamiento de la animación.
Available in English: Simplified Animations on the Web

1. Flash and Web Animations

Short description:

MacroMedia Flash fue lo mejor que le pudo haber pasado al desarrollo web. Te permitía crear animaciones fácilmente con una línea de tiempo e invitar a tus amigos diseñadores para que las cosas se vieran geniales. Las animaciones en la web tienen una historia divertida, y el primer navegador en soportar animaciones fue Internet Explorer. Se lanzó con una etiqueta meta genial.

♪♪♪ Me estoy haciendo viejo. Hablando de envejecer, ¿quién recuerda esto? ¿Cómo se sienten tus rodillas y tu espalda? ¿Has tomado tu Advil hoy? En serio, MacroMedia Flash, para aquellos que no lo sabían, fue lo mejor que le pudo haber pasado al desarrollo web. Moriré en esa colina. Creo que es genial. Al igual que moriré en la colina de los índices OneBase.

MacroMedia Flash fue genial porque no solo podías invitar a tus amigos diseñadores que sabían cómo hacer que las cosas se vieran geniales, sino que te daban esta pequeña cosa genial aquí arriba en la parte superior llamada línea de tiempo. Para aquellos que no tuvieron la oportunidad de experimentar Flash en todo su esplendor, una línea de tiempo te permitía tomar, digamos, un círculo. Podría ser solo un objeto, podría ser algún texto, podría ser cualquier cosa. Podías seleccionar el punto en la línea de tiempo donde querías que tu objeto, como cuánto tiempo querías que durara una animación. Moverías tu objeto a esa línea de tiempo, moverías el objeto en el espacio, seleccionarías la línea de tiempo y luego dirías, crear interpolación de animación. Y luego, cuando presionabas play, simplemente se movía. Y podías hacer muchas otras cosas con esto. Como deformarlo en una forma completamente diferente. Flash era realmente genial en ese caso y perdimos mucho de lo bueno que Flash trajo a la web. Sin embargo, estamos empezando a recuperarlo. Así que vamos a hablar sobre animaciones en la web, cómo puedes hacerlas simples, cómo puedes hacerlas mejores.

No me encuentras mucho en Twitter estos días. Estoy en el sitio Cooler Blue Sky. Si no estás en Blue Sky, únete. Es mucho más divertido y agradable allí. Pero vamos a sumergirnos en las animaciones. Las animaciones en la web han tenido una historia muy, muy divertida. Rápido, levanten la mano, o no levanten la mano, quien quiera gritarlo primero, ¿qué navegador tuvo el primer soporte de animación? ¿Alguien? Todos están equivocados. Fue Internet Explorer. Internet Explorer. Internet Explorer. Internet Explorer. Todas las alegrías de Internet Explorer 5.5. Ahora te estarás preguntando, Mike, ¿cómo sucedió esto? ¿Cómo obtuvimos animaciones en Internet Explorer? Internet Explorer se lanzó con esta etiqueta meta realmente genial. Porque esto fue alrededor de la época en que todavía enviábamos archivos HTML separados para todas nuestras diferentes rutas.

2. Evolution of Web Animations

Short description:

En los primeros días, las animaciones web se lograban utilizando meta tags y transiciones integradas en el navegador. Sin embargo, con el declive de Internet Explorer 5.5, las animaciones se perdieron hasta que se introdujeron las animaciones de keyframe. Estas carecían de control detallado. Las animaciones en JavaScript, como GreenSock, llegaron más tarde, pero requerían mucho código JavaScript. La línea de tiempo de la animación se implementó como un set timeout, lo cual era lento.

Era un tiempo más simple. Era un mejor tiempo. Pero te daban esta meta tag donde podías definir una animación de Entrada y una de Salida animación. Le darías el HTTP equiv. Luego establecerías el contenido para ser una transición de revelado, ya sea de tres segundos, 500 milisegundos. Y luego para la transición, realmente tenías todas estas transiciones integradas proporcionadas por el navegador para animar cosas de izquierda a derecha, derecha a izquierda, haciendo ese bonito pequeño círculo crecer en el medio. Realmente, cosas de primera categoría que existían en 1999, 2000. Cosas realmente geniales.

Y luego Internet Explorer 5.5 murió. Y perdimos esta animación. No volveríamos a ver animaciones hasta que obtuvimos animaciones de keyframe en la web, aproximadamente alrededor de 2007. Y esto fue algo que Safari tuvo primero. No escuchamos eso a menudo, pero Safari tuvo algo primero, amigos. Con las animaciones de keyframe, definirías un punto de inicio y uno de fin. Y luego usando CSS, podrías definir esa animación dentro de tu código. Ahora, esto era genial, porque podías simplemente codificarlo y luego hacer que la animación se reprodujera y despegara. Pero la animación carecía de mucho control detallado. No podías realmente capturarla a mitad de animación. Estabas un poco por tu cuenta.

Las animaciones en JavaScript llegaron después de eso, donde básicamente re-implementaron un motor de animación en JavaScript. Y probablemente el que la gente más conoce es GreenSock. Hay casi una docena de bibliotecas de animación por ahí. jQueryAnimate, ¿alguien? Lo divertido de estas es que la animación simplemente funcionaría, pero tendrías tanto JavaScript para hacer cosas simples como esta. Si alguien alguna vez echó un vistazo a jQueryAnimate para una lectura divertida de viernes por la noche, su línea de tiempo de animación es un set timeout. No hiciste nada. Nadie se sorprendió por eso. Sí, gracias. Set timeout para una línea de tiempo de animación es terrible, especialmente porque esto fue antes de que tuviéramos requestAnimationFrame. Así que el código era muy lento. Era genial para la época.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

El Potencial Caprichoso de los Marcos de Trabajo de JavaScript
React Summit US 2023React Summit US 2023
28 min
El Potencial Caprichoso de los Marcos de Trabajo de JavaScript
Top Content
The speaker discusses the whimsical and detailed work of Stripe, particularly their interactive and dynamic pages. They explain the use of React for building whimsical details and tracking mouse position. The speaker introduces React Spring for smooth animation and React3 Fiber for creating a 3D egg model. They also mention the use of Framer Motion and React server components for animating CSS properties.
Animaciones Emocionales y Funcionales de la Interfaz de Usuario en React
React Day Berlin 2022React Day Berlin 2022
28 min
Animaciones Emocionales y Funcionales de la Interfaz de Usuario en React
Today's Talk discussed the importance of UI animations in React, both functional and emotional. Examples were given using CSS and Framer Motion, with a focus on user feedback and accessibility. Design guidelines and animation usage were highlighted, as well as the consideration of negative emotions in animations. The Talk also touched on designing 404 error pages and concluded with gratitude to the audience and organizers.
Las animaciones en React Native deben ser divertidas
React Advanced 2022React Advanced 2022
28 min
Las animaciones en React Native deben ser divertidas
This talk is about animations in React Native, specifically focusing on React Native Reanimated. It covers the use of interpolations and extrapolations in animations, animating items in a carousel or list, sticky elements and interpolation, and fluidity and layout animations. The talk provides valuable tips and tricks for creating performant animations and explores the use of math formulas for natural movements.
Sigue Desplazándote
JSNation Live 2021JSNation Live 2021
33 min
Sigue Desplazándote
Scroll animations can enhance user experience when done properly, but should not distract from important information. CSS, JavaScript, and plugins like Scroll Trigger can be used to achieve scroll animations. GreenSock's ScrollTrigger provides a powerful JavaScript animation library for more complex animations. It is important to consider accessibility and provide reduced motion fallbacks. CodePen and GreenSock's documentation are valuable resources for learning and inspiration in creative coding.
Animación y Vue.js
Vue.js London Live 2021Vue.js London Live 2021
32 min
Animación y Vue.js
Today's Talk covers animation in Vue JS apps, including CSS animations, JavaScript animations using the GSAP library, and handling multiple elements with transition groups. The Talk also discusses different kinds of movements, state transitions, and animating numbers and SVGs. Overall, it provides a comprehensive overview of animation techniques and tools for enhancing Vue JS apps.
Animaciones con JS
JSNation 2022JSNation 2022
19 min
Animaciones con JS
Today's talk is about animations in Javascript, covering frame rates and different methods like CSS transitions and animations. JavaScript provides more control over animations, allowing interpolation and simulation of real-world scenarios. Different approaches to animating a box from zero to 100 pixels are discussed, including for loops, timers, and the web animations API. Request Animation Frame is highlighted as a solution for consistent and smooth animations. The Web Animations API is introduced as a powerful tool alongside CSS animations and transitions, although it has limited browser support.

Workshops on related topic

Cómo crear arte generativo increíble con código JavaScript simple
JS GameDev Summit 2022JS GameDev Summit 2022
165 min
Cómo crear arte generativo increíble con código JavaScript simple
Top Content
WorkshopFree
Frank Force
Frank Force
En lugar de dibujar manualmente cada imagen como en el arte tradicional, los artistas generativos escriben programas que son capaces de producir una variedad de resultados. En esta masterclass aprenderás cómo crear arte generativo increíble usando solo un navegador web y un editor de texto. Comenzando con conceptos básicos y avanzando hacia la teoría avanzada, cubriremos todo lo que necesitas saber.