Diving Into Server Islands

Rate this content
Bookmark

En esta masterclass, exploraremos la construcción de aplicaciones web full-stack impulsadas por Astro y Astro DB.

Comenzaremos descubriendo los conceptos básicos de Astro, por qué y dónde es útil, y cómo construir una aplicación web simple con él. Descubriremos cómo usar el modo de renderizado híbrido de Astro para agregar rutas de API y renderizado dinámico del lado del servidor a la aplicación.

Luego profundizaremos en Astro DB, un ORM simple pero poderoso utilizado para comunicarse entre una base de datos LibSQL y tu aplicación Astro. Además, Astro 5.0-beta ha sido lanzado, cerraremos la masterclass revisando las nuevas características, algunas demostraciones y descubriendo cómo actualizar.

This talk has been presented at React Advanced 2024, check out the latest edition of this React Conference.

Elian Van Cutsem
Elian Van Cutsem
27 min
25 Oct, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Hola a todos. Soy Elion, el Responsable de Relaciones con Desarrolladores en React Bricks. Astro es un marco web para el desarrollo orientado al contenido, similar a Next o Nuxt. Soporta TypeScript y JavaScript y se compila en HTML y CSS, resultando en una excelente indexabilidad y SEO. HTML y JavaScript se pueden usar junto con Astro a través de directivas del cliente, permitiendo sitios web interactivos mientras se optimiza el rendimiento. La arquitectura de islas de servidor de Astro retrasa el renderizado hasta que todo el contenido está disponible, y la interactividad del lado del cliente se logra a través de la API de batería y la autenticación del servidor. Astro proporciona carga de datos nativa y soporta cargadores de código abierto para diferentes tipos de contenido. Las colecciones y Astro Actions facilitan la reutilización de contenido y el uso de API. Zalt Schema, AstraDB y ORM están disponibles para el manejo de datos de formularios. AstroDB y Starlight permiten el uso de diferentes bases de datos y renderizado bajo demanda. Astro 5.0 introduce una mejor localización, modos de renderizado simplificados y una API de capa de contenido. Hay una guía de actualización para Astro 5.0 y se integra bien con React. Astro se recomienda para sitios web orientados al contenido, pero puede no ser ideal para construir paneles de control o servicios de autenticación. Astro ha influido en otros marcos y apunta a llevar la web hacia mejores estándares.
Available in English: Diving Into Server Islands

1. Introduction and Background

Short description:

Hola a todos. Soy Elion, el Responsable de Relaciones con Desarrolladores en React Bricks. También soy mantenedor de Astron y tengo experiencia trabajando en el equipo central. Si quieres hablar sobre CMSs o postularte como orador, no dudes en contactarme.

Muy bien. Hola a todos. Es bueno estar aquí en Londres. De hecho, hoy no está lloviendo, así que estoy muy feliz. ¿Quién soy yo? Bueno, Nathaniel ya me presentó. Soy Elion. Soy el Responsable de Relaciones con Desarrolladores actualmente en React Bricks. Así que si quieres hablar sobre CMSs, puedes encontrarme. Además, trabajo como freelance por mi cuenta. Soy mantenedor de Astron. Solía trabajar en el equipo central durante aproximadamente un año, centrándome en la experiencia del desarrollador y la documentación y todo eso. Trabajo con el equipo de BGS, que es un equipo que organiza conferencias en Bélgica, París, y pronto estará en África también. Así que si quieres estar allí, puedes también venir a hablar conmigo o si quieres postularte como orador o lo que sea, puedo darte algunos consejos.

2. Introduction to Astro

Short description:

Astro es un framework web para el desarrollo orientado al contenido. Es un meta framework, similar a Next o Nuxt, pero con algunas características únicas. Utiliza componentes de un solo archivo, soporta TypeScript y JavaScript, y se compila en HTML y CSS por defecto, resultando en una excelente indexabilidad, SEO y accesibilidad para sitios web orientados al contenido.

Genial. Por supuesto, no estás aquí por mí. Estás aquí por el contenido de Astro y para sumergirte en server islands, y lo haremos seguro. Pero, por supuesto, primero hablemos un poco sobre Astro ya que es un poco necesario entender de dónde venimos y cómo surgieron los server islands porque es algo importante.

Así que Astro, cuando hablo de Astro y típicamente como lo hace el equipo central, hablamos de él como el framework web para el desarrollo orientado al contenido, no contenido primero, que solíamos decir, pero es desarrollo orientado al contenido porque es mucho, mucho, mucho más, especialmente ahora. Tiene algunos giros, sin embargo. Así que piénsalo como un framework comparable a Next o Nuxt, un meta framework, pero tiene algunas peculiaridades a las que probablemente no estés acostumbrado.

Así que son componentes de un solo archivo, justo como tendrías con algo como Vue o incluso Svelte. Tus scripts están en la parte superior. Puedes usar TypeScript. Puedes usar JavaScript como lo harías normalmente. Y todo lo que está debajo es solo JSX como esperarías que se comporte. Es increíble. No usamos class name. Usamos class ya que somos fieles a la especificación de HTML. Pero lo extraño de Astro es que por defecto, no envía ni un kilobyte de JavaScript al usuario final. Profundizaremos en esto. Explicaré este concepto de una manera más visual.

Así que imagina esta página, es una página teórica de nuestra página de inicio o sitio web que estamos construyendo. Todos estos componentes en un meta framework típico, depende, por supuesto, de cuál, requiere JavaScript para renderizar todos esos componentes. Y en realidad no tiene mucho sentido porque por ejemplo, ese pie de página allí, tiene múltiples enlaces, lo que sea. Todo eso es contenido estático. Entonces, ¿por qué estamos realmente requiriendo que el navegador envíe JavaScript, tenga JavaScript, para volver a renderizar todo eso? Eso no necesariamente tiene sentido. Así que por defecto, Astro toma todo eso y lo compila solo en HTML y CSS, que es el predeterminado del navegador. Y debido a eso, es increíble para sitios web orientados al contenido. Su indexabilidad. Por ejemplo, tu SEO por defecto será increíble. Tu accesibilidad, si mantienes un seguimiento de tus áreas y etiquetas alt y lo que sea, está allí por defecto. Así que te damos una buena herramienta para comenzar a construir tu aplicación. Y por eso digo que es ideal para el desarrollo de sitios web orientados al contenido, lo que sea.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Componentes de Full Stack
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Componentes de Full Stack
Top Content
RemixConf EU discussed full stack components and their benefits, such as marrying the backend and UI in the same file. The talk demonstrated the implementation of a combo box with search functionality using Remix and the Downshift library. It also highlighted the ease of creating resource routes in Remix and the importance of code organization and maintainability in full stack components. The speaker expressed gratitude towards the audience and discussed the future of Remix, including its acquisition by Shopify and the potential for collaboration with Hydrogen.
RedwoodJS: El marco de aplicación React Full-Stack de tus sueños
React Summit Remote Edition 2021React Summit Remote Edition 2021
43 min
RedwoodJS: El marco de aplicación React Full-Stack de tus sueños
Top Content
Redwood JS is a full stack React app framework that simplifies development and testing. It uses a directory structure to organize code and provides easy data fetching with cells. Redwood eliminates boilerplate and integrates Jest and Storybook. It supports pre-rendering and provides solutions for authentication and deployment. Redwood is a cross-client framework that allows for building web and mobile applications without duplicating work.
Diseño Opt-in – La Nueva Era de los Marcos de React
React Advanced 2023React Advanced 2023
23 min
Diseño Opt-in – La Nueva Era de los Marcos de React
This Talk discusses opt-in design in web development, focusing on API design and understanding good defaults. Opt-in design allows developers to start with minimal tools and gradually add complexity as needed. The principles of opt-in design include finding the lowest common denominator, making complexity easy to add, and prioritizing the user experience. The Talk also explores the concept of opt-in design in React and Astro, as well as the comparison between React and Solid frameworks. Server rendering and streaming in React are highlighted, along with the importance of suspense boundaries for a better user experience.
No sabes cómo hacer SSR
DevOps.js Conf 2024DevOps.js Conf 2024
23 min
No sabes cómo hacer SSR
The Talk covers the speaker's personal journey into server-side rendering (SSR) and the evolution of web development frameworks. It explores the use of jQuery for animations in SSR, the challenges faced in integrating React with Umbraco, and the creation of a custom SSR framework. The Talk also discusses the benefits of Next.js and the use of serverless artifacts for deployment. Finally, it highlights the features of Astro, including its function per route capability.
Todo Sobre Astro
React Day Berlin 2023React Day Berlin 2023
28 min
Todo Sobre Astro
Astro is a powerful framework for content-driven websites, with its own syntax and the ability to use favorite front-end libraries. It has seen significant improvements in Astro 2 and Astro 3, including view transitions and improved performance. Astro 4 introduces features like a powerful dev toolbar, content caching, and internationalization support. The Astro community is highly regarded, and Astro is being used for production websites. Astro also supports migrating legacy websites and integrating with headless CMSs.
Patrones de Arquitectura Remix
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Patrones de Arquitectura Remix
Top Content
This Talk introduces the Remix architecture patterns for web applications, with over 50% of participants using Remix professionally. The migration from single page applications to Remix involves step-by-step refactoring and offers flexibility in deployment options. Scalability can be achieved by distributing the database layer and implementing application caching. The backend for frontend pattern simplifies data fetching, and Remix provides real-time capabilities for collaborative features through WebSocket servers and Server-SendEvents.

Workshops on related topic

Desarrollando Blogs Dinámicos con SvelteKit & Storyblok: Una Masterclass Práctica
JSNation 2023JSNation 2023
174 min
Desarrollando Blogs Dinámicos con SvelteKit & Storyblok: Una Masterclass Práctica
Top Content
Featured WorkshopFree
Alba Silvente Fuentes
Roberto Butti
2 authors
Esta masterclass de SvelteKit explora la integración de servicios de terceros, como Storyblok, en un proyecto SvelteKit. Los participantes aprenderán cómo crear un proyecto SvelteKit, aprovechar los componentes de Svelte y conectarse a APIs externas. La masterclass cubre conceptos importantes incluyendo SSR, CSR, generación de sitios estáticos y despliegue de la aplicación usando adaptadores. Al final de la masterclass, los asistentes tendrán una sólida comprensión de la construcción de aplicaciones SvelteKit con integraciones de API y estarán preparados para el despliegue.
Cómo Resolver Problemas del Mundo Real con Remix
Remix Conf Europe 2022Remix Conf Europe 2022
195 min
Cómo Resolver Problemas del Mundo Real con Remix
Featured Workshop
Michael Carter
Michael Carter
- ¿Errores? Cómo renderizar y registrar tus errores del servidor y del clientea - Cuándo devolver errores vs lanzar excepcionesb - Configurar servicios de registro como Sentry, LogRocket y Bugsnag- ¿Formularios? Cómo validar y manejar formularios de varias páginasa - Usar zod para validar los datos del formulario en tu acciónb - Pasar por formularios de varias páginas sin perder datos- ¿Atascado? Cómo solucionar errores o funciones faltantes en Remix para que puedas continuara - Usar patch-package para solucionar rápidamente tu instalación de Remixb - Mostrar herramienta para gestionar múltiples parches y seleccionar solicitudes de extracción abiertas- ¿Usuarios? Cómo manejar aplicaciones de varios inquilinos con Prismaa - Determinar el inquilino por el host o por el usuariob - Base de datos múltiples o base de datos única/múltiples esquemasc - Asegura que los datos del inquilino siempre estén separados de los demás
Modelado de Bases de Datos Relacionales para GraphQL
GraphQL Galaxy 2020GraphQL Galaxy 2020
106 min
Modelado de Bases de Datos Relacionales para GraphQL
Top Content
WorkshopFree
Adron Hall
Adron Hall
En esta masterclass profundizaremos en el modelado de datos. Comenzaremos con una discusión sobre varios tipos de bases de datos y cómo se mapean a GraphQL. Una vez que se haya establecido esa base, el enfoque se desplazará a tipos específicos de bases de datos y cómo construir modelos de datos que funcionen mejor para GraphQL en varios escenarios.
Índice de contenidosParte 1 - Hora 1      a. Modelado de Datos de Bases de Datos Relacionales      b. Comparando Bases de Datos Relacionales y NoSQL      c. GraphQL con la Base de Datos en menteParte 2 - Hora 2      a. Diseño de Modelos de Datos Relacionales      b. Relación, Construcción de Tablas Multijoin      c. Complejidades de Consulta de Modelado de Datos Relacionales y GraphQL
Prerrequisitos      a. Herramienta de modelado de datos. El formador utilizará dbdiagram      b. Postgres, aunque no es necesario instalar esto localmente, ya que estaré utilizando una imagen de Dicker de Postgres, de Docker Hub para todos los ejemplos      c. Hasura
Curso intensivo sobre Astro y Storyblok
React Day Berlin 2023React Day Berlin 2023
119 min
Curso intensivo sobre Astro y Storyblok
WorkshopFree
Arisa Fukuzaki
Arisa Fukuzaki
La arquitectura sin cabeza ha ganado inmensa popularidad en los últimos años por su capacidad para desacoplar el frontend y el backend, permitiendo a los desarrolladores crear aplicaciones web atractivas, interactivas y escalables.
En esta masterclass, nos sumergiremos rápidamente en el Mundo y la Arquitectura sin Cabeza.
Además, construiremos un sitio web de blog súper rápido utilizando Storyblok, un CMS sin cabeza que ofrece una función de vista previa en tiempo real con un enfoque de componente anidable, y Astro (3.0) que ya está creando revuelo con el nuevo directorio de aplicaciones.
- Domina los fundamentos de CMS sin cabeza- Domina un enfoque de Astro & CMS sin cabeza- Usa el diseño atómico en tu aplicación Astro & Storyblok- Creación de páginas, adición de contenido y comprensión de cómo funciona el enrutamiento dinámico con sin cabeza
Masterclass de GraphQL en la Nube con Neo4j Aura, Next.js y Vercel
GraphQL Galaxy 2021GraphQL Galaxy 2021
161 min
Masterclass de GraphQL en la Nube con Neo4j Aura, Next.js y Vercel
WorkshopFree
William Lyon
William Lyon
En este masterclass construiremos y desplegaremos una aplicación de GraphQL de pila completa utilizando Next.js, Neo4j y Vercel. Utilizando un grafo de conocimiento de artículos de noticias, primero construiremos una API de GraphQL utilizando las rutas de API de Next.js y la Biblioteca de GraphQL de Neo4j. A continuación, nos enfocaremos en el front-end, explorando cómo utilizar GraphQL para la obtención de datos con una aplicación de Next.js. Por último, exploraremos cómo agregar personalización y recomendación de contenido en nuestra API de GraphQL para servir artículos relevantes a nuestros usuarios, luego desplegaremos nuestra aplicación en la nube utilizando Vercel y Neo4j Aura.

Tabla de contenidos:
- Visión general de Next.js y cómo empezar con Next.js
- Rutas de API con Next.js y construcción de una API de GraphQL
- Utilizando la Biblioteca de GraphQL de Neo4j
- Trabajando con Apollo Client y obtención de datos de GraphQL en Next.js
- Despliegue con Vercel y Neo4j Aura
Escalando tu base de datos con ReadySet
Node Congress 2023Node Congress 2023
33 min
Escalando tu base de datos con ReadySet
WorkshopFree
Aspen Smith
Nick Marino
2 authors
La base de datos puede ser una de las partes más difíciles de escalar en una aplicación web. Muchos proyectos terminan utilizando sistemas de caché ad-hoc que son complejos, propensos a errores y costosos de construir. ¿Qué pasaría si pudieras implementar un sistema de caché listo para usar para mejorar el rendimiento y la optimización de consultas sin necesidad de realizar cambios en el código de tu aplicación?
Únete a los desarrolladores Aspen Smith y Nick Marino para ver cómo puedes cambiar una línea de configuración en tu aplicación y utilizar ReadySet para escalar el rendimiento de tus consultas en órdenes de magnitud hoy mismo.