Juneikerc.com

Qué es Gatsby JS - Estado actual en 2024

¿Te gustaría crear sitios web rápidos, modernos y optimizados para SEO con React? Entonces quizás te interese conocer Gatsby JS, un framework que te permite generar sitios web estáticos con React y GraphQL.

En este artículo aprenderás, qué es Gatsby JS, cómo funciona, qué ventajas tiene sobre otros frameworks de React además de una visión general de su estado en 2023.

imagen destacada de la página: Qué es Gatsby JS - Estado actual en 2023

¿Qué es Gatsby JS?

Gatsby JS es un framework de código abierto basado en React que te permite crear sitios web estáticos con contenido dinámico.

Un sitio web estático es aquel que se compone de archivos HTML, CSS y JavaScript que se generan en el momento de la compilación y se sirven desde un servidor o una red de distribución de contenido (CDN).

Mientras que un sitio web dinámico es aquel que se genera en el momento de la solicitud y puede cambiar según los datos o la interacción del usuario.

Gatsby JS se encarga de transformar esos datos y componentes en archivos estáticos que se cargan rápidamente en el navegador y ofrecen una excelente experiencia de usuario y de SEO.

¿Cómo Funciona Gatsby JS?

La arquitectura de Gatsby se centra en la creación de sitios web estáticos avanzados que ofrecen un rendimiento superior y una experiencia de usuario óptima. Veamos cómo funciona este framework:

1. Modelo de Datos en GraphQL:

Gatsby utiliza GraphQL para manejar los datos de la aplicación. En lugar de recuperar datos en tiempo de ejecución, Gatsby permite a los desarrolladores definir sus modelos de datos mediante consultas GraphQL. Esto significa que puedes especificar exactamente qué datos necesitas para cada página y Gatsby los recupera de antemano durante el proceso de compilación.

2. Proceso de Construcción:

La magia de Gatsby radica en su proceso de construcción. Cuando inicias el desarrollo de tu sitio, Gatsby escanea tus archivos y utiliza las consultas GraphQL definidas para recuperar los datos necesarios. Estos datos se utilizan para generar páginas estáticas durante el proceso de construcción.

3. React y Componentes Reutilizables:

Gatsby se basa en React para la creación de componentes reutilizables. Puedes utilizar React para construir páginas y layouts de manera modular. Gatsby aprovecha estas capacidades para crear páginas estáticas y dinámicas, según sea necesario.

4. Rutas Automáticas:

Gatsby genera automáticamente rutas para tus páginas a partir de la estructura de carpetas en tu proyecto o a través de las configuraciones del archivo gatsby-node. Esto facilita la creación de sitios con múltiples páginas y mejora la organización del código.

5. Optimización de Imágenes y Recursos:

Gatsby incluye automáticamente optimizaciones para imágenes y otros recursos. Las imágenes se cargan de manera diferida y se comprimen para garantizar un rendimiento óptimo del sitio.

6. Despliegue Sencillo:

Dado que Gatsby genera sitios estáticos, es fácil de desplegar en una variedad de servicios de alojamiento, como Netlify, Vercel, cloudflare pages o incluso en servidores estáticos como GitHub Pages. Esto facilita la implementación y la distribución del sitio.

7. Enfoque PWA (Progressive Web App):

Gatsby fomenta el desarrollo de aplicaciones web progresivas mediante la generación de un sitio que se comporta como una PWA de forma predeterminada. Esto significa que tu sitio es rápido, confiable y se puede disfrutar incluso en condiciones de red adversas.

¿Gatsby JS es mejor que React?

Gatsby JS no es mejor ni peor que React, sino que es un framework basado en React. Es decir, Gatsby JS usa React como librería para crear los componentes de tu sitio, pero añade otras capas y funcionalidades que te facilitan el desarrollo, la optimización y el despliegue de una página web.

Por lo tanto, no se trata de elegir entre Gatsby JS o React, sino de elegir entre Gatsby JS o algún otro framework de React, como Next.js o Remix según tus necesidades y preferencias.

¿Qué ventajas tiene Gatsby JS sobre reactjs plano?

Gatsby JS tiene varias ventajas sobre react que te pueden hacer elegirlo para tu próximo proyecto. Algunas de estas ventajas son:

1. Rendimiento

Gatsby JS te ofrece un rendimiento excepcional, ya que genera sitios web estáticos que se cargan muy rápido y tienen una puntuación alta en herramientas como Lighthouse o PageSpeed Insights.

Además, Gatsby JS utiliza técnicas como el code splitting, que divide el código en chunks que se cargan según se necesitan, el prefetching, que precarga el contenido de las páginas enlazadas, el inlining, que inserta el CSS crítico en el HTML, el caching, que almacena el contenido localmente para evitar peticiones innecesarias, y muchas más.

2. SEO:

Gatsby JS te ayuda a mejorar el SEO de tu sitio, ya que genera páginas con HTML semántico, meta tags, sitemaps, etc., que facilitan la indexación y el rastreo por parte de los motores de búsqueda.

Además, al tener un sitio rápido, mejoras la experiencia de usuario y reduces la tasa de rebote, lo que también influye positivamente en el SEO.

Por si fuera poco, Gatsby JS te permite usar plugins para añadir funcionalidades como el soporte para AMP, el marcado de datos estructurados etc.

3. Desarrollo:

Gatsby JS te ofrece un entorno de desarrollo cómodo y productivo, ya que te permite usar React, una de las librerías más populares y potentes para crear interfaces de usuario, y GraphQL, un lenguaje de consulta que te facilita obtener los datos que necesitas de forma eficiente y declarativa.

Además, Gatsby JS cuenta con una gran comunidad y documentación, que te pueden ayudar a resolver cualquier duda o problema que tengas. También tiene una amplia variedad de plugins y starters, que te permiten añadir funcionalidades y personalizar tu sitio con facilidad.

3. Integración:

Gatsby JS te permite integrar tu sitio con diferentes fuentes de datos y servicios, gracias a su capa de datos basada en GraphQL.

Puedes usar plugins para conectar tu sitio con CMS como WordPress, Contentful, Strapi, etc., con APIs como Shopify, Stripe, Airtable, etc., con bases de datos como MongoDB, Firebase, etc., y con muchos otros servicios como Google Analytics, Disqus, Algolia, etc.

Así, puedes crear sitios web con contenido dinámico y funcionalidades avanzadas sin renunciar a los beneficios de los sitios estáticos.

¿Cómo desarrollar un sitio con Gatsby JS en 2024?

Si quieres crear sitios web increíbles con Gatsby JS en 2023, te recomendamos seguir estos pasos:

1. Aprende lo básico:

Antes de empezar a usar Gatsby JS, es conveniente que tengas unos conocimientos básicos de React y GraphQL, ya que son las tecnologías que usa Gatsby JS para crear los componentes y obtener los datos de tu sitio. Puedes aprender React con nuestra serie de artículos , y GraphQL con nuestra guía .

2. Instala Gatsby JS:

Para instalar Gatsby JS, necesitas tener Node.js y npm instalados en tu ordenador. Puedes seguir los pasos de nuestro artículo  o de nuestra sección  de nuestro artículo . Luego, puedes instalar Gatsby JS globalmente con el siguiente comando:

shell
npm install -g gatsby-cli

3. Crea tu proyecto

Para crear tu proyecto con Gatsby JS, puedes usar el comando gatsby new seguido del nombre de tu proyecto y la URL del template que quieres usar. Por ejemplo, para crear un proyecto llamado mi-sitio con el template por defecto de Gatsby JS, puedes usar el siguiente comando:

shell
gatsby new mi-sitio

Esto creará un proyecto con una estructura de carpetas y archivos como la siguiente:

txt
mi-sitio
├── node_modules
├── src
│ ├── components
│ ├── images
│ └── pages
├── .gitignore
├── gatsby-browser.js
├── gatsby-config.js
├── gatsby-node.js
├── gatsby-ssr.js
├── package-lock.json
└── package.json

4. Desarrolla tu sitio:

Para desarrollar tu sitio con Gatsby JS, puedes usar el comando gatsby develop, que iniciará un servidor de desarrollo local en el puerto 8000 y te permitirá ver los cambios que hagas en tu código en tiempo real. Puedes acceder a tu sitio desde http://localhost:8000 y al GraphiQL desde http://localhost:8000/___graphql.

Para crear los componentes y las páginas de tu sitio, puedes usar React y JSX, y para obtener los datos, puedes usar GraphQL y los plugins que necesites. Puedes consultar la documentación de Gatsby JS para ver los ejemplos y las explicaciones de cada paso.

5. Optimiza y despliega tu sitio:

Para optimizar y desplegar tu sitio con Gatsby JS, puedes usar el comando gatsby build, que generará los archivos estáticos de tu sitio en la carpeta public. Estos archivos estarán optimizados para tener un rendimiento óptimo, ya que incluirán características como code splitting, prefetching, inlining, caching, etc.

Luego, puedes desplegar tu sitio en cualquier servicio de hosting que soporte sitios estáticos, como Netlify, Vercel, GitHub Pages, etc.

¿Debería usar Gatsby JS en 2024?

La respuesta a esta pregunta depende de tus objetivos, preferencias y conocimientos. Si quieres crear sitios web estáticos con contenido dinámico, que sean rápidos, modernos y optimizados para SEO, y que se puedan integrar con diferentes fuentes de datos y servicios, entonces Gatsby JS es una buena opción para ti.

Además, si te gusta usar React y GraphQL, y te sientes cómodo con el entorno de desarrollo y la documentación de Gatsby JS, entonces te será fácil y divertido trabajar con este framework.

Sin embargo, si quieres crear sitios web que requieran de un backend más complejo o de una renderización en el servidor, o si prefieres usar otras tecnologías o frameworks, entonces quizás Gatsby JS no sea la mejor opción para ti. En cualquier caso, te recomendamos que pruebes Gatsby JS y veas por ti mismo lo que te puede ofrecer.

¿Gatsby JS es mejor que Next.js para SEO?

Gatsby JS y Next.js son dos frameworks de React que ofrecen una buena optimización para SEO, pero tienen algunas diferencias que los hacen más o menos adecuados para algunos escenarios. Gatsby JS genera sitios web estáticos que se cargan muy rápido y tienen una puntuación alta en herramientas como Lighthouse o PageSpeed Insights.

Además, Gatsby JS genera páginas con HTML semántico, meta tags, sitemaps, etc., que facilitan la indexación y el rastreo por parte de los motores de búsqueda. Por otro lado, Next.js genera sitios web con renderización en el servidor, estática o incremental, según lo que necesites.

Esto te permite crear páginas con contenido que cambia frecuentemente o que depende de datos sensibles o de la sesión del usuario, lo que puede mejorar el SEO de tu sitio.

Además, Next.js también genera páginas con HTML semántico, meta tags, sitemaps, etc., que facilitan la indexación y el rastreo por parte de los motores de búsqueda.

Por lo tanto, la respuesta a esta pregunta depende de tu caso particular. Si quieres crear sitios web que sean rápidos, modernos y optimizados para SEO, y que no requieran de un backend más complejo o de una renderización en el servidor, entonces Gatsby JS puede ser una mejor opción para ti.

Si quieres crear sitios web que requieran de un backend más complejo o de una renderización en el servidor, o que tengan contenido que cambie frecuentemente o que dependa de datos sensibles o de la sesión del usuario, entonces Next.js puede ser una mejor opción para ti.

¿Vale la pena aprender gatsbyJs en 2024?

Antes de responder esta pregunta debo decirte que soy muy fan gastby desde sus inicios recuerdo utilizarlo para crear blogs desde su versión 2 y he visto por mis propios ojos como mejoraba paso a paso agregando nuevas características e integraciones.

Sin embargo aproximadamente desde inicios de 2023 su popularidad se ha reducido dramáticamente favoreciendo a opciones con una mejor experiencia de desarrollo como next o astro.

Cuándo nextJs era el framework por defecto de react para crear aplicaciones optimizadas para seo, gatsby apareció como una opción que mejoraba considerablemente el rendimiento ya que planteaba un enfoque estático que recordaba a los inicios de la web. Siendo uno de los principales precursores del movimiento JAMSTACK para construir una web lo más estática posible y así evitar el uso excesivo de recursos del servidor.

A pesar de que es una herramienta que amo debo decir que hoy en día no tiene mucho sentido aprender gatsby ya que su uso es cada vez menor, prácticamente no recibe actualizaciones y hay otras alternativas que parecen más adaptadas a las demandas actuales del mercado.

Nota importante:

Gatsby fue adquirida en febrero de 2023 por netlify uno de los servicios de hosting en el perímetro líderes en la actualidad, en ese momento la compra parecía dar una luz de esperanza sin embargo visto lo visto tal parece que la compra fue más por el servicio netlify connect (anteriormente conocido como Valhalla Content Hub) que por el framework en si.

Espero que este artículo te haya ayudado a entender qué es Gatsby JS, si te ha gustado, no dudes en compartirlo con tus amigos y contactos.

También puedes contactarme si necesitas un desarrollador freelance experto en gatsby para migrar o crear un sitio web con Gatsby JS. Estaré encantados de ayudarte.