Cual Es La Diferencia Entre los Atributos “async” y “defer” en HTML

4 minuto(s)

Cuando se trata de cargar archivos JavaScript, hay algunas opciones diferentes disponibles. Comprender exactamente cómo se cargan y ejecutan los script es crucial para el rendimiento del sitio web, así como para la calidad general de la experiencia del usuario. En este Post te enseñaré Cual Es La Diferencia Entre los Atributos “async” y “defer” en HTML y veremos como funciona la etiqueta <script></script> con estos atributos, es decir con async y defer, vamos con ello.

Antes de continuar con este Post, te invito a leer los siguientes artículos:

Asimismo, te invito a escuchar el Podcast: “Como Hacer De La Programación Un Estilo De Vida“La Inteligencia Artificial (IA) y el Machine Learning (ML) Siempre Trabajan de la Mano” (Anchor Podcast): 

Spotify: Sound Cloud: Apple Podcasts Anchor Podcasts

Bien ahora continuemos con el Post: Cual Es La Diferencia Entre los Atributos “async” y “defer” en HTML. 

Sin Atributo

La mayoría de las veces, una etiqueta <script> simple sin atributos es con lo que la mayoría de la gente tiende a comenzar. Esto implementa el comportamiento predeterminado del navegador. El HTML se analizará hasta que se encuentre la etiqueta del script. En este punto, se pausará el análisis de HTML y se cargará el script. El script se ejecutará antes de que se pueda reanudar el análisis de HTML:


Como puedes ver, este método puede causar una pausa prolongada en el análisis de HTML, lo que da como resultado una experiencia de usuario desagradable.

Atributo “async”

Para evitar una pausa prolongada en el análisis de HTML, se puede aprovechar el atributo async. Esto garantiza que, cuando se encuentre el script, el análisis no se detenga de inmediato. En su lugar, el script se carga en segundo plano y solo se detiene el análisis de HTML para ejecutarlo. El análisis de HTML se reanuda como de costrumbre después de que se completa la ejecución del script:


Si bien el atributo async toma medidas para mitigar el problema mencionado anteriormente, viene con una advertencia importante. No se garantiza que los scripts cargados de esta manera se ejecuten en el orden especificado, sino a medida que estén disponibles cuando se carguen.

Atributo “defer”

Por último el atributo defer se basa en el comportamiento anterior para garantizar el orden de ejecución de los scripts. Como antes, los scripts se cargan en segundo plano a medida que se encuentran. Cuando finaliza el análisis de HTML, se ejecutan en orden:


Como Puedes ver cada atributo tiene una forma de trabajar y depende de tu criterio decidir en que momento usarlos.

imagen: 30 seconds of code

Conclusión

Hemos aprendido como funcionan los atributos async y defer, la mejor manera de comprender como funcionan y aprenderlos, es usandolos en tus proyectos. Como se dice la práctica hace al maestro.

Nota(s)

  • No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo. 

Síguenos en las Redes Sociales para que no te pierdas nuestros próximos contenidos.