Despliega y Prueba Aplicaciones React de Pila Completa en Cloudflare

Rate this content
Bookmark
Github

Esta masterclass de 3 horas proporcionará una introducción a la Plataforma de Desarrolladores de Cloudflare para desarrolladores de aplicaciones. Se centrará en desarrollar una aplicación React de pila completa respaldada por pruebas que puedan garantizar la corrección de sus interacciones con los recursos y APIs proporcionados por la Plataforma de Desarrolladores.

La masterclass asume un conocimiento básico de TypeScript y React, ¡no mucho más allá de lo necesario para construir una aplicación hola mundo en React usando TypeScript! Tampoco se requiere conocimiento de la Plataforma de Desarrolladores, ya que todo lo relacionado con Cloudflare se introducirá como parte de la masterclass.

Así que si estás interesado en el desarrollo de aplicaciones en la plataforma de Cloudflare (¡rápida y económica!), entonces esta masterclass es para ti. Al final de la misma, sabrás cómo construir una aplicación web de pila completa, completamente probada (usando React o cualquier marco de tu elección) con una estructura de pruebas integral que te dará plena confianza y tranquilidad.


Agenda

La masterclass incluirá codificación en vivo, preguntas y respuestas, y secciones de codificación interactivas. El código inicial, junto con las instrucciones, también estará disponible para que los participantes lo revisen y profundicen después de

la masterclass.

Como parte de la configuración inicial, veremos cómo usar la herramienta C3 para desplegar fácilmente aplicaciones en Cloudflare en cuestión de minutos.

Después, veremos cómo escribir código que interactúe con los recursos y APIs específicos de la Plataforma de Desarrolladores, específicamente, usaremos KVs, R2 buckets y Workers AI. También nos aseguraremos de probar todo el código para asegurarnos de que interactúa correctamente con las APIs mencionadas a través de la integración oficial de Workers Vitest.

Luego integraremos el código de Workers con nuestra aplicación React para construir una aplicación de pila completa lista para ser desplegada en la red de borde de Cloudflare. Usaremos playwright para implementar un conjunto de pruebas de extremo a extremo (e2e) para asegurarnos de que la aplicación se integra perfectamente con la plataforma de Cloudflare.


Conclusiones

- Cómo desarrollar en el runtime de Cloudflare Workers e interactuar con varios recursos de Cloudflare

- Cómo desarrollar, probar de manera integral y desplegar una aplicación de pila completa en la Plataforma de Cloudflare

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

Dario Piotrowicz
Dario Piotrowicz
Christian Sparks
Christian Sparks
105 min
13 Nov, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Bienvenido a la masterclass sobre el despliegue y prueba de aplicaciones React de pila completa en Cloudflare. La agenda incluye una introducción al proyecto, implementaciones de UI, despliegue del proyecto en la plataforma Cloudflare, implementación de lógica de backend y prueba de toda la aplicación. Cloudflare Pages y Remix son las tecnologías utilizadas. La masterclass se centra en construir una aplicación generadora de tarjetas de intercambio. El primer ejercicio implica implementar el formulario y la lógica de integración de backend. El segundo paso es crear un cargador. Se cubren la lógica de backend, la integración en la nube y la persistencia con las vinculaciones de Cloudflare. El ejercicio tres se centra en implementar la funcionalidad de la clase de gestión de tarjetas, incluida la funcionalidad de AI. También se cubren las pruebas de funcionalidad de KV y R2 y la integración de la lógica de backend con la UI. El ejercicio cuatro involucra pruebas E2E con Playwright. El ejercicio cinco cubre cómo hacer el código más comprobable. La masterclass concluye con ideas y recursos adicionales.

1. Workshop Introduction

Short description:

Bienvenidos a la masterclass sobre el despliegue y prueba de aplicaciones React de pila completa en Cloudflare. Christian Sparks y Dario Pietrovic liderarán la masterclass. La agenda incluye una introducción al proyecto, implementaciones de UI, desplegar el proyecto en la plataforma Cloudflare, implementar la lógica de backend y probar toda la aplicación. Los requisitos incluyen un IDE preferido, NPM o un gestor de paquetes preferido, Git y una cuenta de Cloudflare. La masterclass se centrará en construir una aplicación generadora de tarjetas de intercambio usando Remix, Cloudflare workers y pages. Cloudflare workers es un runtime sin servidor de baja latencia que puede ejecutarse en cualquier ubicación y ofrece diferencias de API respecto a Node.js. Únete a la masterclass para aprender más.

Hola a todos. Bienvenidos a la masterclass, que trata sobre el despliegue y prueba de aplicaciones React de pila completa en Cloudflare. Antes de comenzar con el contenido aquí, voy a dar una breve introducción sobre mí mismo y dejaré que Dario se presente. Pero mi nombre es Christian Sparks. Estoy en el equipo de construcción y automatización en Cloudflare. Así que si alguna vez has usado Cloudflare pages o has usado Cloudflare workers builds, básicamente, trabajo en ese tipo de cosas. Así que básicamente, toda la integración con Git, si estás construyendo un sitio estático en Cloudflare, trabajo en ese tipo de cosas.

Y luego Dario Pietrovic. Trabajo en el equipo de frameworks en Cloudflare, donde básicamente intentamos mejorar nuestra integración de Cloudflare con los diversos frameworks de JavaScript en el ecosistema. Y sí, la masterclass trata sobre crear una aplicación React de pila completa y desplegarla en nuestra plataforma. Todo hecho junto con pruebas exhaustivas. Esta es la agenda. Está dividida aproximadamente en tres bloques de una hora. Comenzaremos con una breve introducción al proyecto, luego algunas implementaciones ligeras de UI, y luego desplegaremos nuestro proyecto en la plataforma Cloudflare. Luego tendremos un breve descanso. Después, implementaremos algo de lógica de backend que realmente integre nuestra aplicación con algunos recursos de la plataforma Cloudflare. Luego otro breve descanso. Y finalmente concluiremos combinando la lógica del lado del servidor que acabamos de implementar en el paso anterior con nuestra UI, y probaremos toda la aplicación. Y esto nos llevará al final de la masterclass.

En cuanto a los requisitos, son bastante mínimos. Pero sí, solo tu IDE favorito. Usualmente sugerimos VS Code, pero cualquier IDE debería funcionar. NPM o tu gestor de paquetes preferido. Git, como viste, tenemos este repositorio de GitHub y la masterclass gira en torno a este repositorio. Así que Git es definitivamente necesario. La cuenta de Cloudflare, ya que necesitamos integrarnos con los recursos de Cloudflare y desplegar en Cloudflare. Así que se necesita una cuenta de Cloudflare. Si no has configurado una, solo toma unos minutos y es completamente gratis. No tienes que pagar nada ni nada por el estilo. Así que debería estar bastante bien. Y finalmente algo de entusiasmo, que nunca está de más.

Y sí. Sí, claro. Así que para dar una visión general rápida de lo que estaremos haciendo durante esta masterclass, estaremos construyendo una aplicación generadora de tarjetas de intercambio construida usando Remix, que es un framework de pila completa de React, Cloudflare workers y pages. Sí, dejaré el enlace del repositorio. Pero Cloudflare workers y algunos otros recursos de Cloudflare. Y aquí hay una pequeña demostración de nuestras aplicaciones completadas. Tienes un pequeño formulario aquí, así que hagamos un ejemplo. Luego podemos hacer clic en Generar, una vez que hayamos insertado un título y una descripción. Tomará unos segundos, porque está generando una imagen. Y esperemos ver un resultado en un segundo. Y puedes ver que hemos generado una pequeña tarjeta de intercambio, una tarjeta de intercambio de buen aspecto. Y esto es lo que obtendrás de la masterclass.

Ahora, para dar una visión general de con qué tecnología estamos construyendo esto, la primera es Cloudflare workers. Así que voy a dar un poco de visión general, porque es un poco diferente de muchas de las plataformas de JavaScript que podrías haber usado antes. Típicamente, la gente hará cosas en Node o en el navegador, pero workers es un poco diferente. La clave es que es un runtime sin servidor de baja latencia, y es algo así como sin región. La idea es que puede ejecutarse en prácticamente cualquier ubicación en el mundo, y puedes elegir su ubicación y hacer que se ejecute cerca de un usuario, lejos de un usuario, cerca de ciertas bases de datos que podrías tener para optimizar la capacidad de respuesta para cualquier usuario de tu aplicación. También está basado en V8, así que es más o menos la misma tecnología que Chrome y Node.js, pero hay algunas diferencias de API. Bastante eficiente.

2. Tech and Exercise Introduction

Short description:

Cloudflare Pages es la tecnología que usaremos para alojar activos estáticos y trabajadores de backend. Remix es el framework de React de pila completa que utilizaremos. Tiene buen soporte para Cloudflare y puede migrarse fácilmente a React v7. El repositorio de la masterclass contiene un conjunto de GitHubs para facilitar la navegación. El primer ejercicio implica implementar el formulario y la lógica de integración de backend para la UI. Siéntete libre de hacer preguntas durante la masterclass.

Y la forma en que lo aislamos, esto es un poco más detallado de lo que necesitas, pero usamos V8 isolates para minimizar los inicios en frío. Entonces, lo que eso significa es que, si nadie ha accedido a tu aplicación en un tiempo en otras plataformas sin servidor, podrías experimentar una solicitud bastante lenta, como inicios en frío de casi medio segundo o un segundo, en comparación con Cloudflare, intentamos minimizarlo a cero, por lo que básicamente no hay diferencia entre un inicio en frío y un inicio en caliente. También es bastante económico. Plan gratuito, $5 al mes, hay muchas solicitudes incluidas. La masterclass de hoy se puede completar completamente dentro del plan gratuito con muchas, muchas solicitudes allí, así que no necesitas preocuparte por eso. Y específicamente, la tecnología que usaremos es Cloudflare Pages, que proporciona una combinación de alojamiento de activos estáticos, así como algunas capacidades de trabajadores de backend, lo cual es ideal para nuestro caso de uso hoy, que es una aplicación web de pila completa. Le pasaré a Dario para hablar sobre React.

Genial, así que sí, el framework de React de pila completa que usaremos es Remix. Probablemente todos aquí deberían estar bastante familiarizados con eso. Pero de todos modos, solo para dar una ligera introducción, es un framework de React de pila completa con una buena UXDX y todas las campanas y silbatos que esperarías de un framework moderno. Una cosa a mencionar es que el equipo de Remix está migrándolo para convertirse en parte de React Routers v7. Pero sí, cualquier cosa que usemos hoy, debería ser bastante trivial migrarla de todos modos a React v7 cuando llegue, así que no es como si lo que presentaremos hoy, vaya a quedar obsoleto pronto. De todos modos, lo que también implementaremos se puede implementar con cualquier framework de React de pila completa o incluso cualquier framework de JavaScript de pila completa en general, por lo que es un poco basado en Remix, pero los conceptos son bastante genéricos.

Como un framework de React de pila completa en Cloudflare, hay algunas otras alternativas, por ejemplo la grande es NxJS. También hay otras más nuevas y experimentales como Quark y 10-steps. Pero sí, de todos modos, elegimos ir con Remix porque tiene muy buen soporte desde el principio para Cloudflare. Tiene una API pulida para acceder a los recursos de Cloudflare, como veremos en la masterclass. También tenemos una buena plantilla de inicio en nuestra herramienta C3 para crear un nuevo proyecto Remix y puedo mostrarte muy rápidamente a qué me refiero con eso. Si no estás familiarizado con nuestra herramienta Create, es una herramienta CLI simple que puedes ejecutar a través de C3 y crear Cloudflare o tu alternativa de gestor de paquetes. Puedes elegir dónde crear tu aplicación. Hay varias opciones, y como mencioné, tenemos una opción para Remix. Así que básicamente, si fueras a usar la herramienta C3, aquí crearíamos y crearíamos una aplicación Remix lista para que simplemente la despliegues en Cloudflare. De todos modos, solo te estaba mostrando la herramienta, pero no la vamos a usar ya que en nuestro repositorio. Ya hemos creado toda la aplicación para ti. Hablando de eso, este es el repositorio. Christian ya lo compartió. Si puedes, por favor clónalo. De todos modos, para dar una introducción de muy alto nivel del repositorio, simplemente hay una sección de bienvenida con un enlace a las diapositivas. Quiero decir, creo que lo tienes, pero está ahí si lo necesitas. Y una cosa importante a mencionar, tenemos un conjunto de GitHubs para que si quieres, puedes saltar a cualquier punto de la masterclass en cualquier momento. Así que sí, si, por ejemplo, te pierdes en algún punto, o quieres saltarte un ejercicio o verificar la solución para un ejercicio o cualquier cosa que quieras, simplemente puedes revisar las varias etiquetas, que están listadas aquí. Sí. De todos modos, también codificamos en vivo los varios ejercicios, soluciones y cosas por el estilo. Así que con suerte no deberías necesitar saltar demasiado a través de etiquetas, pero si necesitas, están ahí para ti. Podemos comenzar con el primer ejercicio. Aquí también estamos listando los varios GitHubs relacionados con este ejercicio. De todos modos, para cada ejercicio en nuestra masterclass, tenemos un archivo readme, que puedes encontrar bajo ejercicios. Y sí, este primer ejercicio, se trata de implementar el formulario de nuestra UI. Así que ahora mismo tenemos una UI simple parcialmente implementada, y la tarea de este primer ejercicio es implementar el formulario con la lógica de acción y cargador, por lo que la lógica de integración de backend para eso. Así que sí, te daremos unos minutos para familiarizarte con el repositorio y comenzar el proyecto y comenzar a trabajar en el primer paso, luego en unos minutos podemos codificar en vivo el primer paso juntos y también continuaremos con esta estructura para los otros pasos. Así que sí, si quieres comenzar con el ejercicio. Y por cierto, en cualquier momento si tienes alguna pregunta o algo, solo grita o envíanos un mensaje en el chat o lo que quieras. Así que vamos a empezar a ver la solución para el primer paso juntos. Y déjame... Ya hice un fork... ¿Cómo me deshago de esto? Bien, ya cloné el repositorio. Así que hagamos un simple npm install. Y podemos iniciar la aplicación con npm run dev. Así que obtenemos nuestro... Así que esta es la aplicación inicial.

Watch more workshops on topic

Diseñando Pruebas Efectivas con la Biblioteca de Pruebas de React
React Summit 2023React Summit 2023
151 min
Diseñando Pruebas Efectivas con la Biblioteca de Pruebas de React
Top Content
Featured Workshop
Josh Justice
Josh Justice
La Biblioteca de Pruebas de React es un gran marco para las pruebas de componentes de React porque responde muchas preguntas por ti, por lo que no necesitas preocuparte por esas preguntas. Pero eso no significa que las pruebas sean fáciles. Todavía hay muchas preguntas que tienes que resolver por ti mismo: ¿Cuántas pruebas de componentes debes escribir vs pruebas de extremo a extremo o pruebas de unidad de nivel inferior? ¿Cómo puedes probar una cierta línea de código que es difícil de probar? ¿Y qué se supone que debes hacer con esa persistente advertencia de act()?
En esta masterclass de tres horas, presentaremos la Biblioteca de Pruebas de React junto con un modelo mental de cómo pensar en el diseño de tus pruebas de componentes. Este modelo mental te ayudará a ver cómo probar cada bit de lógica, si debes o no simular dependencias, y ayudará a mejorar el diseño de tus componentes. Te irás con las herramientas, técnicas y principios que necesitas para implementar pruebas de componentes de bajo costo y alto valor.
Tabla de contenidos- Los diferentes tipos de pruebas de aplicaciones de React, y dónde encajan las pruebas de componentes- Un modelo mental para pensar en las entradas y salidas de los componentes que pruebas- Opciones para seleccionar elementos DOM para verificar e interactuar con ellos- El valor de los mocks y por qué no deben evitarse- Los desafíos con la asincronía en las pruebas de RTL y cómo manejarlos
Requisitos previos- Familiaridad con la construcción de aplicaciones con React- Experiencia básica escribiendo pruebas automatizadas con Jest u otro marco de pruebas unitarias- No necesitas ninguna experiencia con la Biblioteca de Pruebas de React- Configuración de la máquina: Node LTS, Yarn
Cómo empezar con Cypress
TestJS Summit 2022TestJS Summit 2022
146 min
Cómo empezar con Cypress
Featured WorkshopFree
Filip Hric
Filip Hric
La web ha evolucionado. Finalmente, también lo ha hecho el testing. Cypress es una herramienta de testing moderna que responde a las necesidades de testing de las aplicaciones web modernas. Ha ganado mucha popularidad en los últimos años, obteniendo reconocimiento a nivel mundial. Si has estado esperando aprender Cypress, ¡no esperes más! Filip Hric te guiará a través de los primeros pasos sobre cómo empezar a usar Cypress y configurar tu propio proyecto. La buena noticia es que aprender Cypress es increíblemente fácil. Escribirás tu primer test en poco tiempo y luego descubrirás cómo escribir un test de extremo a extremo completo para una aplicación web moderna. Aprenderás conceptos fundamentales como la capacidad de reintentar. Descubre cómo trabajar e interactuar con tu aplicación y aprende cómo combinar pruebas de API y de UI. A lo largo de todo este masterclass, escribiremos código y realizaremos ejercicios prácticos. Saldrás con una experiencia práctica que podrás aplicar a tu propio proyecto.
Detox 101: Cómo escribir pruebas de extremo a extremo estables para su aplicación React Native
React Summit 2022React Summit 2022
117 min
Detox 101: Cómo escribir pruebas de extremo a extremo estables para su aplicación React Native
Top Content
WorkshopFree
Yevheniia Hlovatska
Yevheniia Hlovatska
A diferencia de las pruebas unitarias, las pruebas de extremo a extremo buscan interactuar con su aplicación tal como lo haría un usuario real. Y como todos sabemos, puede ser bastante desafiante. Especialmente cuando hablamos de aplicaciones móviles.
Las pruebas dependen de muchas condiciones y se consideran lentas e inestables. Por otro lado, las pruebas de extremo a extremo pueden dar la mayor confianza de que su aplicación está funcionando. Y si se hace correctamente, puede convertirse en una herramienta increíble para aumentar la velocidad del desarrollador.
Detox es un marco de pruebas de extremo a extremo en caja gris para aplicaciones móviles. Desarrollado por Wix para resolver el problema de la lentitud e inestabilidad y utilizado por React Native en sí como su herramienta de pruebas E2E.
Únete a mí en esta masterclass para aprender cómo hacer que tus pruebas de extremo a extremo móviles con Detox sean excelentes.
Prerrequisitos- iOS/Android: MacOS Catalina o más reciente- Solo Android: Linux- Instalar antes de la masterclass
Masterclass de Pruebas de API con Postman
TestJS Summit 2023TestJS Summit 2023
48 min
Masterclass de Pruebas de API con Postman
Top Content
WorkshopFree
Pooja Mistry
Pooja Mistry
En el panorama siempre en evolución del desarrollo de software, garantizar la fiabilidad y funcionalidad de las API se ha vuelto primordial. "Pruebas de API con Postman" es una masterclass completa diseñada para equipar a los participantes con los conocimientos y habilidades necesarios para sobresalir en las pruebas de API utilizando Postman, una herramienta poderosa ampliamente adoptada por profesionales en el campo. Esta masterclass profundiza en los fundamentos de las pruebas de API, avanza a técnicas de prueba avanzadas y explora la automatización, las pruebas de rendimiento y el soporte multiprotocolo, proporcionando a los asistentes una comprensión holística de las pruebas de API con Postman.
Únete a nosotros para esta masterclass para desbloquear todo el potencial de Postman para las pruebas de API, agilizar tus procesos de prueba y mejorar la calidad y fiabilidad de tu software. Ya seas un principiante o un probador experimentado, esta masterclass te equipará con las habilidades necesarias para sobresalir en las pruebas de API con Postman.
Monitoreo 101 para Desarrolladores de React
React Summit US 2023React Summit US 2023
107 min
Monitoreo 101 para Desarrolladores de React
Top Content
WorkshopFree
Lazar Nikolov
Sarah Guthals
2 authors
Si encontrar errores en tu proyecto frontend es como buscar una aguja en un pajar de código, entonces el monitoreo de errores de Sentry puede ser tu detector de metales. Aprende los conceptos básicos del monitoreo de errores con Sentry. Ya sea que estés ejecutando un proyecto de React, Angular, Vue, o simplemente JavaScript “vainilla”, mira cómo Sentry puede ayudarte a encontrar el quién, qué, cuándo y dónde detrás de los errores en tu proyecto frontend.
Nivel de la masterclass: Intermedio
Testing Web Applications Using Cypress
TestJS Summit - January, 2021TestJS Summit - January, 2021
173 min
Testing Web Applications Using Cypress
Top Content
WorkshopFree
Gleb Bahmutov
Gleb Bahmutov
Esta masterclass te enseñará los conceptos básicos para escribir pruebas end-to-end útiles utilizando Cypress Test Runner.
Cubriremos la escritura de pruebas, cubriendo cada característica de la aplicación, estructurando pruebas, interceptando solicitudes de red y configurando los datos del backend.
Cualquiera que conozca el lenguaje de programación JavaScript y tenga NPM instalado podrá seguir adelante.

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

Solicitudes de Red con Cypress
TestJS Summit 2021TestJS Summit 2021
33 min
Solicitudes de Red con Cypress
Top Content
Cecilia Martinez, a technical account manager at Cypress, discusses network requests in Cypress and demonstrates commands like cydot request and SCI.INTERCEPT. She also explains dynamic matching and aliasing, network stubbing, and the pros and cons of using real server responses versus stubbing. The talk covers logging request responses, testing front-end and backend API, handling list length and DOM traversal, lazy loading, and provides resources for beginners to learn Cypress.
Pruebas de ciclo completo con Cypress
TestJS Summit 2022TestJS Summit 2022
27 min
Pruebas de ciclo completo con Cypress
Top Content
Cypress is a powerful tool for end-to-end testing and API testing. It provides instant feedback on test errors and allows tests to be run inside the browser. Cypress enables testing at both the application and network layers, making it easier to reach different edge cases. With features like AppActions and component testing, Cypress allows for comprehensive testing of individual components and the entire application. Join the workshops to learn more about full circle testing with Cypress.
Desarrollo Efectivo de Pruebas
TestJS Summit 2021TestJS Summit 2021
31 min
Desarrollo Efectivo de Pruebas
Top Content
This Talk introduces Test Effective Development, a new approach to testing that aims to make companies more cost-effective. The speaker shares their personal journey of improving code quality and reducing bugs through smarter testing strategies. They discuss the importance of finding a balance between testing confidence and efficiency and introduce the concepts of isolated and integrated testing. The speaker also suggests different testing strategies based on the size of the application and emphasizes the need to choose cost-effective testing approaches based on the specific project requirements.
Playwright Test Runner
TestJS Summit 2021TestJS Summit 2021
25 min
Playwright Test Runner
Top Content
The Playwright Test Runner is a cross-browser web testing framework that allows you to write tests using just a few lines of code. It supports features like parallel test execution, device emulation, and different reporters for customized output. Code-Gen is a new feature that generates code to interact with web pages. Playwright Tracing provides a powerful tool for debugging and analyzing test actions, with the ability to explore trace files using TraceViewer. Overall, Playwright Test offers installation, test authoring, debugging, and post-mortem debugging capabilities.
Todos pueden escribir pruebas fácilmente
TestJS Summit 2023TestJS Summit 2023
21 min
Todos pueden escribir pruebas fácilmente
Playwright is a reliable end-to-end testing tool for modern web apps that provides one API, full isolation, fast execution, and supports multiple languages. It offers features like auto-weighting, retrying assertions, seamless testing of iframes and shadow DOM, test isolation, parallelism, and scalability. Playwright provides tools like VS Code extension, UiMode, and Trace Viewer for writing, debugging, and running tests. Effective tests prioritize user-facing attributes, use playwright locators and assertions, and avoid testing third-party dependencies. Playwright simplifies testing by generating tests, providing code generation and UI mode, and allows for easy running and debugging of tests. It helps in fixing failed tests and analyzing DOM changes, fixing locator mismatches, and scaling tests. Playwright is open source, free, and continuously growing.