Una introducción a la emergente arquitectura de islas que puede mejorar significativamente el rendimiento de tus aplicaciones.
This talk has been presented at React Advanced 2022, check out the latest edition of this React Conference.
Una introducción a la emergente arquitectura de islas que puede mejorar significativamente el rendimiento de tus aplicaciones.
This talk has been presented at React Advanced 2022, check out the latest edition of this React Conference.
La arquitectura de islas es una forma emergente de construir sitios web que permite desarrollar páginas con poco o incluso sin JavaScript, enfocándose en mejorar la carga y la interactividad de ciertas partes de la página independientemente del resto.
Las bibliotecas líderes que implementan la arquitectura de islas son Astro y Fresh.
Astro permite a los desarrolladores construir sitios web usando la arquitectura de islas, donde se pueden crear 'islas' de interactividad que cargan su propio JavaScript de manera independiente, mejorando la performance y la interactividad del sitio.
El renderizado en el lado del servidor permite cargar algunas partes de la aplicación como HTML y servirlas directamente a los usuarios, lo que mejora el SEO y reduce los tiempos de carga al no depender completamente de JavaScript y la hidratación del lado del cliente.
La hidratación es un proceso en el desarrollo web donde una página HTML servida inicialmente por el servidor se vuelve interactiva mediante la adición de JavaScript. Este proceso permite que los elementos interactivos comiencen a funcionar después de que la página ha sido cargada.
La hidratación completa implica cargar todo el JavaScript necesario para la página de una sola vez, mientras que la hidratación parcial solo carga JavaScript para componentes específicos cuando es necesario, lo cual es más eficiente y rápido.
Optimizar un sitio web con arquitectura de islas implica identificar componentes que no necesitan JavaScript y servirlos como HTML estático, mientras que para los componentes dinámicos se carga JavaScript de manera selectiva y solo cuando es necesario.
La arquitectura de islas es una nueva forma emergente de construir sitios web con poco o ningún JavaScript, utilizando bibliotecas como Astro y Fresh. Estos sitios web se pueden dividir en sitios impulsados por contenido y sitios impulsados por datos, cada uno con diferentes necesidades y escala. Las bibliotecas de componentes como React, Vue, Svelt y SolidJs se han vuelto populares para construir estos sitios web, ofreciendo composabilidad, reutilización y facilidad de eliminación. Sin embargo, son bibliotecas del lado del cliente, lo que puede causar problemas con la indexación de motores de búsqueda y resultar en grandes cargas de JavaScript.
Hola a todos. Quiero hablar sobre la arquitectura de islas hoy. Es una nueva forma emergente de construir sitios web que te permite construir sitios web con poco o incluso sin JavaScript. Las bibliotecas líderes en esto son Astro y Fresh. Intentaré hacer una demostración de Astro en esta charla y exploraremos cómo implementa la arquitectura de islas.
Pero antes de llegar allí, quiero sentar las bases de por qué existe algo como la arquitectura de islas y cómo llegamos a este punto. Así que un poco sobre mí, mi nombre es Arpit. Puedes encontrarme en línea. Trabajo en el espacio de Web 3.0 para un protocolo DeFi y comencemos.
Entonces, pensemos en el tipo de sitios web que estamos acostumbrados a construir. Construimos blogs, documentaciones o aplicaciones muy impulsadas por datos, algo como Facebook que tiene mucha información para mostrar al usuario. Podemos dividirlos en dos tipos diferentes de sitios web: sitios web impulsados por contenido y sitios web impulsados por datos. Ambos tienen diferentes necesidades y diferentes tipos de escala que están tratando de lograr y debemos intentar usar la herramienta correcta para el trabajo.
Entre ellos, tenemos de todo. Como dije, sitios web impulsados por contenido y sitios web impulsados por datos. Pero esto no es una cosa de elegir uno u otro. Hay algunos sitios web que tendrán mucho contenido en una página, pero la otra página será principalmente estática y nada más. La razón por la que menciono esto es que estamos acostumbrados a construir muchos de estos con las mismas herramientas. Y esas herramientas son bibliotecas de componentes que se han vuelto muy populares en la última década más o menos. La más popular es React, pero algunos de ustedes pueden estar usando Vue, Svelt o SolidJs. Los beneficios de estos son que son componibles. Puedes combinarlos en diferentes componentes. Puedes reutilizarlos en toda tu aplicación. Incluso en sistemas de diseño, puedes usar tipos similares de componentes en diferentes plataformas incluso. Por lo general, son fáciles de escribir, especialmente si los escribes en pequeños fragmentos. Son muy fáciles de eliminar. La cosa sobre estas bibliotecas es que todas son bibliotecas del lado del cliente. Por lo general, no renderizan nada en el servidor. Debido a esto, tienes un problema y los motores de búsqueda no pueden indexar fácilmente tus sitios web. También entregan una carga de JavaScript grande porque tienes que servir tu propio JavaScript junto con la biblioteca en sí.
Las desventajas de no servir HTML son que resulta en tiempos de carga lentos y un panel de contenido grande llamado LCP. Para resolver esto, se utiliza el renderizado en el lado del servidor, con frameworks como Next.js y Nuxt. El renderizado en el lado del servidor te permite renderizar algunas partes de tu aplicación como HTML, mejorando el SEO y reduciendo los tiempos de carga. Sin embargo, aún puede resultar en servir una carga de JavaScript grande.
Junto con eso, no sirves ningún HTML. Por lo tanto, tienes todas las desventajas sin ninguna de las ventajas. La principal es que hay un panel de contenido grande llamado LCP, que es lento. Esto significa que tarda mucho tiempo en que el contenido sea visible para los usuarios.
La forma en que resolvemos esto en la industria es utilizando el renderizado en el lado del servidor. Todas estas bibliotecas tienen sus propios frameworks. React tiene Next, Vue tiene Nuxt, y todos ellos se basan en algo nuevo. Los beneficios son que renderizas algunas partes de tu aplicación como HTML y lo sirves a los usuarios. La obtención de datos puede ocurrir en el servidor. Con Next.js, puedes obtener datos una vez cuando se construye la aplicación, o cada vez que el usuario accede, que es lo que hace su función getServerSideProps. Esto permite un buen SEO para ti, porque junto con JavaScript también estás sirviendo HTML, y tiene un LCP más rápido. Un problema con esto es que aún sirves una carga de JavaScript muy grande que es posible que no necesites realmente. Estos frameworks dependen principalmente de la hidratación de la página completa.
We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career
Comments