Arquitectura pública documentada de Gatsby
Gatsby está construido alrededor de React y las herramientas de Node.js. Los desarrolladores escriben componentes de React, mientras que Gatsby coordina la obtención de datos, las consultas GraphQL, la creación de páginas, el procesamiento de recursos, el empaquetado y el comportamiento de renderizado seleccionado.
Esto describe la arquitectura del framework documentada para proyectos de Gatsby. No deduce los sistemas privados de alojamiento, los servicios internos ni la topología operativa detrás de gatsbyjs.com.
Componentes fundamentales
| Capa | Función documentada públicamente |
|---|---|
| React | Proporciona componentes, JSX, estado e interacción del lado del navegador. |
| APIs de Gatsby | Conectan la configuración, la obtención de datos, la creación de nodos, la creación de páginas y el trabajo del ciclo de vida del renderizado. |
| Capa de datos | Normaliza los registros obtenidos como nodos y los expone mediante un esquema GraphQL. |
| Plugins de origen | Importan contenido de archivos, sistemas de contenido, APIs y servicios. |
| GraphQL | Selecciona campos obtenidos para páginas y componentes en el flujo de trabajo de datos de Gatsby. |
| Renderizado | Admite SSG, DSG, SSR mediante getServerData y rutas del lado del cliente. |
| Ecosistema de plugins | Añade fuentes, transformaciones, gestión de imágenes, estilos, analítica y otras integraciones. |
Del contenido a la página
- Un plugin de origen recupera o lee contenido.
- Gatsby crea nodos y construye su esquema de datos.
- Una consulta de página solicita los campos necesarios.
- Una plantilla de React renderiza el contenido consultado.
- Gatsby produce o sirve la página según su modo de renderizado.
Las páginas estáticas se generan durante el proceso de compilación. Las páginas diferidas se posponen hasta su primera solicitud en una infraestructura compatible. Las páginas SSR ejecutan lógica en el momento de la solicitud mediante getServerData. Las rutas del lado del cliente reservan determinadas rutas para el comportamiento de una aplicación en el navegador.
La arquitectura no garantiza un tiempo de compilación, una velocidad de página o un resultado de búsqueda concretos. Esos resultados dependen de la latencia de las fuentes, la cantidad de nodos y páginas, el diseño de las consultas, las imágenes, JavaScript, el almacenamiento en caché, el alojamiento y la propia implementación.
