stringtranslate.com

Velocity (biblioteca de JavaScript)

Velocity es una biblioteca JavaScript multiplataforma diseñada para simplificar la creación de secuencias de comandos del lado del cliente para animaciones de sitios web. [4] Velocity es un software gratuito de código abierto con licencia MIT . [3] Es el motor de animación web de código abierto más popular. [5]

La sintaxis de Velocity está diseñada para facilitar la creación de animaciones complejas para elementos HTML y SVG . [6] Además de sus beneficios en el flujo de trabajo, Velocity proporciona un rendimiento de animación que es competitivo con la animación basada en CSS . [7] Velocity logra su rendimiento manteniendo un caché interno de estados de animación y minimizando el " desorden de diseño ", el comportamiento indeseable que experimentan los navegadores web cuando se actualizan visualmente a un ritmo rápido. [7] En conjunto, sus beneficios en el flujo de trabajo y el rendimiento permiten que Velocity se utilice para una programación de animación sofisticada que se puede integrar tanto en aplicaciones web como móviles. [8] Su amplio soporte de navegadores y dispositivos lo hacen ideal para grandes distribuciones empresariales que deben admitir dispositivos de bajo consumo. [9]

Velocity se utiliza para potenciar las interfaces de usuario de muchos sitios web notables, incluidos Uber , Samsung , WhatsApp , Tumblr , HTC , Mazda y Microsoft Windows . Es uno de los proyectos más favoritos en el servicio de alojamiento de código GitHub . [10] En 2015, Velocity fue nominado a Proyecto de código abierto del año por The Net Awards . [11]

Características

Las características de Velocity incluyen: [4]

Compatibilidad con navegadores

Velocity es compatible con todos los principales navegadores de escritorio ( Firefox , Google Chrome y Safari ), además de los sistemas operativos móviles iOS y Android . Su compatibilidad se remonta a Internet Explorer 8 y Android 2.3. [15]

Uso

Incluyendo la biblioteca

La biblioteca Velocity es un único archivo JavaScript que contiene todas sus funciones principales. Se puede incluir en una página web mediante un vínculo a una copia local o a una de las muchas copias disponibles en servidores públicos, incluidos jsDelivr de MaxCDN o cdnjs de Cloudflare .

< script  src = "velocidad.min.js" > < script >

También es posible incluir Velocity directamente desde las redes de distribución de contenido. (El atributo integrity se utiliza para la integridad de subrecursos ). Se recomienda utilizar siempre HTTPS para los recursos, pero esto se puede reemplazar por //para utilizar URL relativas al protocolo .

< script  src = "https://cdnjs.cloudflare.com/ajax/libs/velocity/1.5.2/velocity.min.js"  integridad = "sha384-fcLDUAwcSMMfmpKMJ0dO2//SL2WJ5/kkyz/yvgtmLXBEp3GdqrQF9ahRerhdLXn+"  origen cruzado = "anónimo" ></ script >

Estilos de uso

Velocity tiene dos estilos de uso:

Las llamadas de animación en Velocity consisten en proporcionar los elementos deseados para animar, un mapa de propiedades de animación para especificar las propiedades CSS que se animarán y un objeto de opciones opcional para especificar configuraciones de animación (por ejemplo, duración ).

Argumentos

Velocity acepta uno o más argumentos. El primer argumento, que es obligatorio, puede ser el nombre de un comando de Velocity predefinido (por ejemplo, desplazarse o invertir ) o un objeto que consta de propiedades CSS que se animarán:

// Anima el ancho de un elemento a 100px y su propiedad izquierda a 200px $element . velocity ({ width : "100px" , left : "200px" });     

El segundo argumento, que es opcional, es un objeto. Se utiliza para especificar opciones de animación como duration , easing y complete (una función arbitraria que se ejecuta una vez que la animación ha finalizado):

// Anima el ancho de un elemento a 100 px durante una duración de 1000 ms después de pausarlo por un retraso de 100 s. $element . velocity ({ width : "100px" }, { duration : 1000 , delay : 100 });         

Encadenamiento

La creación de una serie de llamadas de animación consecutivas en Velocity consiste en colocar llamadas velocity() una tras otra en el objeto de elemento jQuery de destino :

$element . velocity ({ height : 300 }, { duration : 1000 }) // Continuar con esta animación una vez que la anterior se haya completado . velocity ({ top : 200 }, { duration : 600 }) // Y una vez más... . velocity ({ opacity : 0 }, { duration : 200 });                          

Desplazamiento y reversión

El desplazamiento en Velocity consiste en pasar "scroll" como primer argumento de Velocity, en lugar del mapa de propiedades CSS típico:

// Desplazamiento con una duración de 750 ms $element . velocity ( "scroll" , { duration : 750 });    

Posteriormente, el navegador se desplazará hacia abajo hasta el borde superior del elemento en el que se invocó Velocity.

La inversión de animación en Velocity consiste en pasar "reverse" como primer argumento de Velocity:

// Animar la altura de un elemento $element . velocity ({ height : "500px" }, { duration : 500 }); // Invertir la animación anterior; animar de nuevo a la altura original del elemento usando la duración anterior $element . velocity ( "reverse" );       

El comando reverse de Velocity toma como valor predeterminado las opciones de animación utilizadas en la llamada anterior. Al pasar un nuevo objeto de opciones, se extiende el anterior:

$element . velocity ({ height : "500px" }, { duration : 500 }); // Extiende el objeto de opciones de la llamada inversa anterior con un nuevo valor de duración $element . velocity ( "reverse" , { duration : 1000 });           

Historia

Velocity fue desarrollado por Julian Shapiro para abordar la falta de bibliotecas de animación de JavaScript orientadas al diseñador y de alto rendimiento . [16] [17] Stripe , una popular empresa de tecnología de Internet centrada en el desarrollo web , patrocinó a Shapiro con una subvención para ayudar a proporcionar los recursos financieros necesarios para continuar con el desarrollo a tiempo completo en Velocity. [18]

El alto rendimiento del motor de animación interno de Velocity ayudó a repopularizar la animación web basada en JavaScript, que anteriormente había caído en desgracia frente a la animación basada en CSS debido a sus ventajas de velocidad sobre las bibliotecas de JavaScript más antiguas que carecían de un enfoque en la animación. [19]

En septiembre de 2014, Shapiro lanzó Velocity Motion Designer , una herramienta para diseñar animaciones en sitios web de producción en vivo que permitía exportar en tiempo real el código de animación generado para su uso posterior dentro de un IDE . [20] En marzo de 2015, Peachpit publicó el libro Web Animation using JavaScript de Shapiro , que enseña los principios iniciales y avanzados del desarrollo de animaciones web utilizando Velocity. [ cita requerida ] A mediados de 2015, Velocity continúa siendo desarrollado y mantenido exclusivamente por Shapiro. [21]

Además de su uso en entornos empresariales profesionales, Velocity también se utiliza ampliamente para la experimentación y la práctica del desarrollo web para principiantes. Los proyectos de desarrollo web de prueba de concepto creados sobre Velocity suelen publicarse en CodePen (ejemplo), un servicio líder de intercambio de código comunitario.

Véase también

Lectura adicional

Enlaces externos

Referencias

  1. ^ julianshapiro. "velocity/README.md at master · julianshapiro/velocity · GitHub". Github.com . Consultado el 13 de febrero de 2021 .
  2. ^ "Historial de package.json - julianshapiro/velocity · GitHub". Github.com . Consultado el 13 de febrero de 2021 .
  3. ^ por julianshapiro (9 de octubre de 2014). "velocity/LICENSE.md en master · julianshapiro/velocity · GitHub". Github.com . Consultado el 20 de enero de 2016 .
  4. ^ ab "Animación JavaScript". 15 de junio de 2015.
  5. ^ "Julian Shapiro, importante colaborador de las tecnologías de código abierto, revela el uso de SaaS". Forbes.com . Consultado el 20 de enero de 2016 .
  6. ^ "Velocity.js para diseñadores". Studio Wolf . Consultado el 20 de enero de 2016 .
  7. ^ ab "Animación CSS vs. Animación JS: ¿cuál es más rápida?". 28 de abril de 2014.
  8. ^ "Velocity, el motor de las bibliotecas de JavaScript". 11 de octubre de 2017.
  9. ^ Julian Shapiro (16 de junio de 2014). "Animación de interfaz de usuario increíblemente rápida con Velocity.js". Sitepoint.com . Consultado el 20 de enero de 2016 .
  10. ^ "Buscar · estrellas:>1 · GitHub". Github.com . Consultado el 20 de enero de 2016 .
  11. ^ "Lista de finalistas de los premios The Net Awards 2015 Celebrando lo mejor en diseño y desarrollo web". Thenetawards.com . Consultado el 20 de enero de 2016 .
  12. ^ "Animación sin jQuery – Smashing Magazine". Smashingmagazine.com. 4 de septiembre de 2014. Consultado el 20 de enero de 2016 .
  13. ^ "La introducción sencilla a la animación SVG". 31 de julio de 2014.
  14. ^ "Use Velocity.js para aplicar efectos de movimiento elegantes similares a los de una aplicación | JavaScript | Web Designer". Webdesignermag.co.uk. 2015-01-21 . Consultado el 2016-01-20 .
  15. ^ "Velocity.js". Julian.com . Consultado el 20 de enero de 2016 .
  16. ^ Equipo, Awwwards. "Entrevista con Julian Shapiro". Awwwards.com . Consultado el 20 de enero de 2016 .
  17. ^ Shapiro, Julian (21 de mayo de 2014). "Trate el código abierto como una startup ★ Mozilla Hacks: el blog para desarrolladores web". Hacks.mozilla.org . Consultado el 20 de enero de 2016 .
  18. ^ Greg Brockman (6 de junio de 2014). "Beneficiarios del programa Open-Source Retreat". Stripe.com . Consultado el 20 de enero de 2016 .
  19. ^ Aurelio De Rosa (23 de junio de 2014). "Cómo mejorar fácilmente las animaciones de jQuery". Sitepoint.com . Consultado el 20 de enero de 2016 .
  20. ^ Remezcla este vídeo (6 de septiembre de 2014). "Velocity Motion Designer: descripción general". YouTube . Consultado el 20 de enero de 2016 .
  21. ^ "Colaboradores de julianshapiro/Velocity". GitHub .