Tracing: Frontend Issues With Backend Solutions

Rate this content
Bookmark

Los problemas de frontend que afectan a tus usuarios a menudo son provocados por problemas de backend. En esta masterclass, aprenderás cómo identificar problemas que causan páginas web lentas y malos Core Web Vitals usando tracing.


Luego, pruébalo tú mismo configurando Sentry en un proyecto Next.js ya preparado para descubrir problemas de rendimiento, incluyendo consultas lentas a la base de datos en una sesión interactiva de programación en pareja.


Saldrás de la masterclass siendo capaz de:

- Encontrar problemas de backend que podrían estar ralentizando tus aplicaciones de frontend

- Configurar tracing con Sentry en un proyecto Next.js

- Depurar y solucionar problemas de rendimiento deficiente usando tracing


Este será un evento en vivo de 2 horas donde tendrás la oportunidad de codificar junto con nosotros y hacernos preguntas.

This workshop has been presented at React Summit US 2024, check out the latest edition of this React Conference.

Lazar Nikolov
Lazar Nikolov
Sarah Guthals
Sarah Guthals
112 min
14 Nov, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Bienvenido a la masterclass de dos horas donde presentaremos Sentry, una plataforma de monitoreo, y demostraremos cómo depurar con ella. Revisaremos la estructura del proyecto y configuraremos Sentry para depuración. La masterclass cubre temas como la población de la base de datos, la configuración de Sentry para una mejor depuración, el tracing de rendimiento y la repetición de sesiones. También exploraremos CI/CD, la configuración de Python y la integración del proyecto Django con Sentry. La masterclass enfatiza la importancia de establecer tasas de muestreo adecuadamente y cubre la identificación de problemas, la configuración de mapas de origen y el análisis de errores con mapas de origen. Además, cubre temas como corrección de errores, instrumentación personalizada, solución de problemas de rendimiento y exploración de trazas. La masterclass concluye con una visión general de las características de Sentry, incluyendo la vista de trazas, la repetición de sesiones, el widget de retroalimentación del usuario y las capacidades de IA. Se anima a los asistentes a contactarnos para más preguntas.

1. Introducción a Sentry y Depuración

Short description:

¡Bienvenidos a la masterclass de dos horas! Tendremos instrucciones para que sigas usando Visual Studio Code, Python y Docker. Presentaremos Sentry, una plataforma de monitoreo, y te mostraremos cómo depurar con ella. La plataforma te ayuda a contextualizar, priorizar y rastrear problemas. Te animamos a no solo observar, sino a depurar. ¿Alguna pregunta sobre monitoreo o depuración? Vamos a verlo en acción. Depuraremos una aplicación de tarjetas de memoria con un frontend de Next.js y un backend de Python Django. Clona el repositorio y comienza tu contenedor de Docker. ¡Empecemos!

Te invitamos a seguirnos. Es una masterclass de dos horas. Tomaremos un breve descanso en el medio. Tendremos instrucciones para que puedas seguirnos. Ya que estás aquí un poco temprano, si quieres asegurarte de que al menos tienes, vamos a usar Visual Studio Code. Puedes usar el editor que quieras, Python y Docker. Así que si te aseguras de tener esas cosas y una cuenta de GitHub, entonces deberíamos estar listos para comenzar.

Y me disculpo si mi voz se pone un poco ronca. Me enfermé ayer. No sé de dónde. Mi hijo volvió a la escuela después de cinco días de no estar allí y debe haber recogido algo. Así que, ya sabes, ¿qué vas a hacer? Así que vamos a empezar. Tenemos una especie de inicio lento. Así que si la gente se está uniendo, gracias. Si la gente se está uniendo un poco de manera continua, eso debería estar totalmente bien. Pero bienvenidos. Mi nombre es Sarah Guthals y lidero DevRel en Sentry. Vamos a darte una breve introducción a Sentry y luego vamos a entrar en una demostración en vivo donde podrás seguirnos. Como dije, estoy basada en el estado de Washington, un poco fuera de Redmond. Y este es mi colega, Lazar. Hola a todos. Estoy en la oficina hoy, lo cual es bastante genial. Genial. Yo también estoy en una oficina, pero es mi oficina en casa. Muy bien. Así que vamos a empezar.

Un par de cosas administrativas. Como mencioné, el chat está abierto. Siéntete libre de decirnos desde dónde te estás conectando si aún no lo has hecho. Háznos saber cualquier pregunta que tengas y solo impresiones o comentarios o cosas que puedas tener allí también. Bien. Entonces, ¿qué vamos a hacer? Vamos a hacer un rápido análisis profundo de monitoreo. Te mostraremos esta aplicación que nosotros, bueno, Lazar ha construido, que tiene un frontend de Next.js y un backend de Django. Vamos a depurar esta aplicación juntos. Puedes simplemente seguirnos y mirar. Todo esto está disponible gratuitamente. Así que eres bienvenido a intentarlo ahora o intentarlo más tarde. Y luego te daremos tiempo para que realmente lo intentes por tu cuenta y compartas lo que has aprendido. Bien. Así que vamos a empezar.

Primero que nada, sabes, Sentry es una plataforma de monitoreo. Sin embargo, queremos empujar lo que eso significa. Qué monitoreo, APM, observabilidad, como todos estos términos, solo como las palabras mismas, implican una sensación de pasividad, y eso definitivamente no es lo que estamos tratando de construir. Lo que siempre estamos tratando de construir es algo que sea más proactivo, ni siquiera solo activo, sino proactivo. Así que queremos animarte a no solo observar, sino a depurar. ¿Y qué significa realmente esto? La forma en que me gusta pensar en ello es que las plataformas que apoyan a los desarrolladores a lo largo de su flujo de trabajo de depuración deberían ayudarte en tres áreas clave. Deberían ayudarte a contextualizar, priorizar y rastrear. Entonces, ¿qué queremos decir con esto? Bueno, contextualizar. Entender el contexto sobre lo que salió mal. ¿Está sucediendo en cada navegador o solo está sucediendo en Chrome? ¿Está sucediendo en cada dispositivo o solo en Android? ¿Está afectando, como, ya sabes, cada, como si tu aplicación estuviera completamente caída o solo está afectando esta área realmente específica de la aplicación que no mucha gente está usando? Este tipo de información te ayuda a contextualizar, te ayuda a entender dónde podría estar el problema y te ayuda a entender el siguiente paso, si deberías priorizar el problema. Y además de esa información, priorizar no es solo saber cuán importante es un problema en sí mismo, sino saber cuán importante es un problema en comparación con todos los otros problemas. Entonces, ¿tienes otros problemas que están escalando que están afectando tu proceso de pago frente a uno que podría estar afectando, como dije, alguna área más pequeña y específica de tu aplicación o tu sitio web? ¿Tienes un error o una ralentización que está afectando a uno de tus grupos de usuarios clave y a los que tal vez están pagando más y por lo tanto quieres priorizar esas correcciones más rápido? ¿O está afectando a personas que están en un plan gratuito que tal vez solo están probándolo? Obviamente, en un mundo ideal, arreglaríamos todos los errores lo más rápido posible y tendríamos una aplicación funcionando perfectamente, pero esa no es la realidad a la que nos enfrentamos todos los días. Y luego, una vez que has podido entender cuál es el problema y priorizar basándote en esos conocimientos si deberías o no arreglarlo, queremos tomar acción. La contextualización y priorización es como esa parte más pasiva, ya sabes, observar o monitorear. El rastreo es realmente donde entra esa parte activa donde estamos depurando activamente.

Así que en lugar de revisar montañas de registros o mirar comentarios de usuarios que solo dicen que está roto y tú dices lo sé, pero ¿puedes darme más información? ¿Puedes darme una captura de pantalla? ¿Puedes decirme algo que me ayude a resolver esto? Queremos ayudarte a rastrear hasta la causa raíz del problema. Idealmente, esa línea de código o esa consulta de base de datos que está causando ese problema. Poder hacer esa corrección rápidamente, desplegar esa corrección rápidamente y asegurarte de que eso no vuelva a ocurrir en el futuro. Así que nuevamente, tenemos tres áreas principales, contextualizar, priorizar y rastrear. Y esto es lo que significa tener una plataforma o una herramienta que te ayude a depurar.

Así que cualquier pregunta sobre monitoreo o depuración, por favor siéntete libre de añadirlas en el chat. De lo contrario, creo que lo más importante es que realmente veamos esto en acción, porque puedo decirte todo el día lo que está pasando. Pero realmente veamos qué está pasando, ¿verdad? Así que vamos a depurar algo código malo. Nuevamente, para comenzar, asegúrate de tener Docker y Python, algún tipo de editor. Vamos a clonar este repositorio. Pondremos enlaces en el chat. Y luego necesitas iniciar tu contenedor de Docker. Ahora, voy a hacer esto contigo. Así que, ya sabes, no necesitas, como, apresurarte, pero vamos a hacer esto juntos. Vamos a poner esto en marcha, y vamos a probarlo. Bien.

Esta aplicación que estamos depurando es una aplicación de tarjetas de memoria. Como dije, tiene un frontend de Next.js y un backend de Python Django. Así que vamos a intentarlo. Este es el repositorio. Es de código abierto. Es nuestro repositorio de tarjetas de memoria. Y solo voy a tomar esto aquí. Y voy a abrir VS Code. Y voy a clonar esto. Así que vamos aquí y clonamos el repositorio de GitHub. Genial. Y sabes qué, solo lo vamos a poner en documentos por ahora. Suena bien. Bien. Así que vamos a clonar esto, y ahora lo tengo en mi máquina local. Así que espero que hayas hecho lo mismo. Echemos un vistazo a lo que tenemos aquí. Lazar, tú construiste esto.

2. Project Overview and Debugging Setup

Short description:

Vamos a recorrer la estructura del proyecto. Hay un monorepo con dos proyectos: API (Python Django) y web (Next.js). Un archivo compose une todo, iniciando Postgres, ejecutando migraciones y arrancando los proyectos API y web. Los proyectos tienen sus propios Dockerfiles. Una plataforma de depuración es útil para corregir errores, incidentes de guardia e incorporación. Aprenderemos la base de código juntos y usaremos Sentry. Clona el repositorio, ejecuta Docker compose y verifica la aplicación en ejecución. Instalaremos Sentry para ayudar con la depuración. Exploraremos la aplicación y poblaremos la base de datos. Sentry es más útil en producción. Veamos si encontramos algún error.

Lazar, tú construiste esto. ¿Quieres guiarnos un poco sobre lo que tenemos en este repositorio? Sí. Así que en la raíz, solo tenemos una carpeta, que es la carpeta de paquetes. Piensa en esto como un monorepo, pero no lo es. Es una estructura que contiene dos tipos diferentes de proyectos. Uno es la API, que está en Python Django. Y el otro es el web, que está en Next.js. También tenemos un archivo compose en la raíz del proyecto. Ahí vamos. Y esto básicamente une todo. Va a iniciar una base de datos Postgres para nosotros. Va a ejecutar algunos scripts de migración para configurar la base de datos después de que la ejecutemos por primera vez. Y luego va a arrancar el proyecto API, que es el de Django, y también el proyecto web, que es el de Next.js. Así que técnicamente, estamos iniciando tres servidores diferentes y un script de migración con esto. Y las carpetas principales para los proyectos son API y web. Cada uno de ellos tiene su propio Dockerfile, que hice funcionar para que incluso si cambiamos algo, debería técnicamente reiniciar el contenedor. Si no, es cuestión de volver a ejecutar el último comando que ejecutamos. Así que, sí, así es como está configurado el proyecto y podemos profundizar en detalles específicos más tarde cuando vayamos a entrar en el código.

Y aquí está la cosa. ¿Cuándo es útil una plataforma que te ayuda a depurar? Obviamente, cuando solo estás tratando de corregir un error. Pero más importante, tal vez cuando estás de guardia y entra un error crítico o una ralentización del rendimiento y en realidad no has tocado esta parte del código antes. No eres parte de ese equipo, digamos. Incluso si no vas a depurarlo activamente, necesitas entender a quién necesitas etiquetar a continuación. Esa es una instancia. Otra instancia es si estás en proceso de incorporación. Así que, no he explorado mucho esta versión de la aplicación de tarjetas de memoria antes. Tuvimos versiones anteriores. Esta vez estamos usando un backend de Django y Lazad ha reescrito y refactorizado completamente esto. Así que, esta es una base de código bastante nueva para mí. Así que vamos a aprender esta base de código juntos y vamos a aprovechar Sentry para poder hacer eso.

Bien. Así que, genial. Tengo mi repositorio clonado. Sí. Y tengo Docker en ejecución. Ahí está. Quiero decir, nada está en ejecución, pero lo tengo abierto. Así que, vamos a abrir una terminal. Y si recuerdo correctamente, en tu readme, también tienes esto, ¿verdad? Solo tenemos que ejecutar Docker compose. Wow. Fue el primer comando en la sección de introducción. Ahí está. Sí. Simplemente lo pasé por alto porque mi cerebro dijo, eso es de un color diferente. No voy a mirarlo. Compose up dash dash build. Perfecto. Sí. Así que vamos a ejecutar este comando aquí en la terminal NBS code. Y solo vamos a ver qué está pasando. El dash dash build, aquí tenemos los argumentos que no siempre pueden ser necesarios. Pero solo lo añadí por precaución porque a veces la recarga en caliente no funciona y no recoge los cambios. Así que, algunos de los cambios pueden no ser recargados. Si añado el, cuando añadí el dash dash build, todo estaba funcionando perfectamente. Así que, sí, tenlo en cuenta. Sí. Bien. Así que lo tenemos en ejecución. Lo tenemos en ejecución. Arrancado. ¿Lo revisamos realmente? Oh, esto fue de cuando lo estaba probando antes. Oh, déjame simplemente, así que, voy a, adelante. Iba a decir, estos están en modo dev. Así que va a ser bastante lento porque estamos ejecutando básicamente npm run dev, al menos para el sitio de Next.js. Así que va a ser más lento. Si lo construimos y lo ejecutamos, va a ser mucho más rápido, ¿o no? Veremos. Espero que sí. Porque eso fue bastante lento. Bien. Ahora, no tenemos Sentry instalado en esto todavía en absoluto. Vamos a hacer eso juntos. Así que, si nos encontramos con errores, vamos a ver qué podemos intentar averiguar, pero probablemente no va a ser mucho. Especialmente porque, ya sabes, todos ustedes que están asistiendo y yo, no estamos muy familiarizados con toda esta base de código. Así que Lazad podría ser capaz de ver algo sucediendo y decir, oh, sé exactamente dónde arreglar eso. No necesariamente vamos a poder hacer eso. Así que parece que tenemos algunas categorías. Tenemos tarjetas de memoria. Podemos gestionarlas. Podemos practicarlas. Y luego tenemos este práctico y útil poblar base de datos porque, ya sabes, en este caso, solo estamos haciendo una aplicación de demostración local. Sentry es más útil, sin embargo, cuando realmente lo tienes en producción y lo estás usando en el mundo real. Así que vamos a poblar la base de datos, asumiendo que alguien ya ha poblado algo de sus tarjetas de memoria. También podemos simplemente crear una haciendo clic en esto. Oh, tal vez no. Hmm. Bien. Interesante. En realidad, creo que sé. Tal vez porque no tenemos, oh, no, no sé.

Watch more workshops on topic

Masterclass de Depuración de Rendimiento de React
React Summit 2023React Summit 2023
170 min
Masterclass de Depuración de Rendimiento de React
Top Content
Featured WorkshopFree
Ivan Akulov
Ivan Akulov
Los primeros intentos de Ivan en la depuración de rendimiento fueron caóticos. Vería una interacción lenta, intentaría una optimización aleatoria, vería que no ayudaba, y seguiría intentando otras optimizaciones hasta que encontraba la correcta (o se rendía).
En aquel entonces, Ivan no sabía cómo usar bien las herramientas de rendimiento. Haría una grabación en Chrome DevTools o React Profiler, la examinaría, intentaría hacer clic en cosas aleatorias, y luego la cerraría frustrado unos minutos después. Ahora, Ivan sabe exactamente dónde y qué buscar. Y en esta masterclass, Ivan te enseñará eso también.
Así es como va a funcionar. Tomaremos una aplicación lenta → la depuraremos (usando herramientas como Chrome DevTools, React Profiler, y why-did-you-render) → identificaremos el cuello de botella → y luego repetiremos, varias veces más. No hablaremos de las soluciones (en el 90% de los casos, es simplemente el viejo y regular useMemo() o memo()). Pero hablaremos de todo lo que viene antes - y aprenderemos a analizar cualquier problema de rendimiento de React, paso a paso.
(Nota: Esta masterclass es más adecuada para ingenieros que ya están familiarizados con cómo funcionan useMemo() y memo() - pero quieren mejorar en el uso de las herramientas de rendimiento alrededor de React. Además, estaremos cubriendo el rendimiento de la interacción, no la velocidad de carga, por lo que no escucharás una palabra sobre Lighthouse 🤐)
AI para Desarrolladores de React
React Advanced 2024React Advanced 2024
142 min
AI para Desarrolladores de React
Featured Workshop
Eve Porcello
Eve Porcello
El conocimiento de las herramientas de AI es fundamental para preparar el futuro de las carreras de los desarrolladores de React, y la suite de herramientas de AI de Vercel es una vía de acceso accesible. En este curso, examinaremos más de cerca el Vercel AI SDK y cómo esto puede ayudar a los desarrolladores de React a construir interfaces de transmisión con JavaScript y Next.js. También incorporaremos APIs de terceros adicionales para construir y desplegar una aplicación de visualización de música.
Temas:- Creación de un Proyecto de React con Next.js- Elección de un LLM- Personalización de Interfaces de Transmisión- Construcción de Rutas- Creación y Generación de Componentes - Uso de Hooks (useChat, useCompletion, useActions, etc)
Construye una aplicación WordPress sin cabeza con Next.js y WPGraphQL
React Summit 2022React Summit 2022
173 min
Construye una aplicación WordPress sin cabeza con Next.js y WPGraphQL
Top Content
WorkshopFree
Kellen Mace
Kellen Mace
En esta masterclass, aprenderás cómo construir una aplicación Next.js que utiliza Apollo Client para obtener datos de un backend de WordPress sin cabeza y usarlo para renderizar las páginas de tu aplicación. Aprenderás cuándo debes considerar una arquitectura de WordPress sin cabeza, cómo convertir un backend de WordPress en un servidor GraphQL, cómo componer consultas usando el IDE GraphiQL, cómo colocar fragmentos GraphQL con tus componentes, y más.
Next.js 13: Estrategias de Obtención de Datos
React Day Berlin 2022React Day Berlin 2022
53 min
Next.js 13: Estrategias de Obtención de Datos
Top Content
WorkshopFree
Alice De Mauro
Alice De Mauro
- Introducción- Prerrequisitos para la masterclass- Estrategias de obtención: fundamentos- Estrategias de obtención – práctica: API de obtención, caché (estática VS dinámica), revalidar, suspense (obtención de datos en paralelo)- Prueba tu construcción y sírvela en Vercel- Futuro: Componentes de servidor VS Componentes de cliente- Huevo de pascua de la masterclass (no relacionado con el tema, destacando la accesibilidad)- Conclusión
Crea un sitio web editable visualmente con Next.js utilizando React Bricks, con blog y comercio electrónico
React Summit 2023React Summit 2023
139 min
Crea un sitio web editable visualmente con Next.js utilizando React Bricks, con blog y comercio electrónico
Top Content
WorkshopFree
Matteo Frana
Matteo Frana
- React Bricks: por qué lo construimos, qué es y cómo funciona- Crea una cuenta gratuita- Crea un nuevo proyecto con Next.js y Tailwind- Explora la estructura del directorio- Anatomía de un Brick- Crea un nuevo Brick (Texto-Imagen)- Añade un título y descripción con edición visual RichText- Añade una imagen con edición visual- Añade controles de barra lateral para editar props (relleno y lado de la imagen)- Anidación de Bricks utilizando el componente Repeater- Crea un brick de galería de imágenes- Publica en Netlify o Vercel- Tipos de página y campos personalizados- Acceso a los valores meta de la página- Internacionalización- Cómo reutilizar contenido en varias páginas: Historias y incrustaciones- Cómo crear un comercio electrónico con datos de productos de una base de datos externa y páginas de aterrizaje creadas visualmente en React Bricks- Características empresariales avanzadas: permisos flexibles, estructura bloqueada, componentes visuales personalizados
De Todo App a B2B SaaS con Next.js y Clerk
React Summit US 2023React Summit US 2023
153 min
De Todo App a B2B SaaS con Next.js y Clerk
Top Content
WorkshopFree
Dev Agrawal
Dev Agrawal
Si eres como yo, probablemente tengas un millón de ideas para proyectos secundarios, algunas de las cuales incluso podrían hacerte ganar dinero como un micro SaaS, o podrían resultar ser la próxima startup de mil millones de dólares. Pero, ¿cómo sabes cuáles? ¿Cómo pasas de una idea a un producto funcional que puede ser puesto en manos de clientes que pagan sin renunciar a tu trabajo e invirtiendo todo tu tiempo y dinero en ello? ¿Cómo pueden competir tus proyectos secundarios en solitario con las aplicaciones construidas por enormes equipos y grandes empresas?
Construir productos SaaS ricos viene con desafíos técnicos como infraestructura, escalabilidad, disponibilidad, seguridad y subsistemas complicados como autenticación y pagos. Por eso, a menudo son los gigantes tecnológicos ya establecidos quienes pueden construir y operar productos de este tipo de manera razonable. Sin embargo, una nueva generación de devtools está permitiendo a los desarrolladores construir fácilmente soluciones completas que aprovechan la mejor infraestructura en la nube disponible, y ofrecen una experiencia que te permite iterar rápidamente en tus ideas por un bajo costo de $0. Se llevan todos los desafíos técnicos de construir y operar productos de software para que solo tengas que pasar tu tiempo construyendo las características que tus usuarios quieren, dándote una oportunidad razonable de competir contra el mercado al mantenerte increíblemente ágil y receptivo a las necesidades de los usuarios.
En esta masterclass de 3 horas comenzarás con una simple aplicación de gestión de tareas construida con React y Next.js y la convertirás en un producto SaaS completamente funcional y escalable integrando una base de datos escalable (PlanetScale), autenticación multi-tenant (Clerk), y pagos basados en suscripción (Stripe). También aprenderás cómo los principios del desarrollo de software ágil y el diseño impulsado por el dominio pueden ayudarte a construir productos rápidamente y de manera rentable, y competir con las soluciones existentes.

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

Depuración Web Moderna
JSNation 2023JSNation 2023
29 min
Depuración Web Moderna
Top Content
This Talk discusses modern web debugging and the latest updates in Chrome DevTools. It highlights new features that help pinpoint issues quicker, improved file visibility and source mapping, and ignoring and configuring files. The Breakpoints panel in DevTools has been redesigned for easier access and management. The Talk also covers the challenges of debugging with source maps and the efforts to standardize the source map format. Lastly, it provides tips for improving productivity with DevTools and emphasizes the importance of reporting bugs and using source maps for debugging production code.
Enrutamiento en React 18 y más allá
React Summit 2022React Summit 2022
20 min
Enrutamiento en React 18 y más allá
Top Content
Routing in React 18 brings a native app-like user experience and allows applications to transition between different environments. React Router and Next.js have different approaches to routing, with React Router using component-based routing and Next.js using file system-based routing. React server components provide the primitives to address the disadvantages of multipage applications while maintaining the same user experience. Improving navigation and routing in React involves including loading UI, pre-rendering parts of the screen, and using server components for more performant experiences. Next.js and Remix are moving towards a converging solution by combining component-based routing with file system routing.
Depuración de JS
React Summit 2023React Summit 2023
24 min
Depuración de JS
Top Content
Debugging JavaScript is a crucial skill that is often overlooked in the industry. It is important to understand the problem, reproduce the issue, and identify the root cause. Having a variety of debugging tools and techniques, such as console methods and graphical debuggers, is beneficial. Replay is a time-traveling debugger for JavaScript that allows users to record and inspect bugs. It works with Redux, plain React, and even minified code with the help of source maps.
Una Guía Práctica para Migrar a Componentes de Servidor
React Advanced 2023React Advanced 2023
28 min
Una Guía Práctica para Migrar a Componentes de Servidor
Top Content
React query version five is live and we'll be discussing the migration process to server components using Next.js and React Query. The process involves planning, preparing, and setting up server components, migrating pages, adding layouts, and moving components to the server. We'll also explore the benefits of server components such as reducing JavaScript shipping, enabling powerful caching, and leveraging the features of the app router. Additionally, we'll cover topics like handling authentication, rendering in server components, and the impact on server load and costs.
El Nuevo Router de Aplicaciones Next.js
React Summit 2023React Summit 2023
27 min
El Nuevo Router de Aplicaciones Next.js
Top Content
Today's Talk is about the Next.js App Router, which has evolved over the years and is now a core feature of Next.js. The Talk covers topics such as adding components, fetching remote data, and exploring layouts. It also discusses submitting form data, simplifying code, and reusing components. The App Router allows for coexistence with the existing pages router and enables data fetching at the layout level using React Server Components.
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.