Componentes de Full Stack

Rate this content
Bookmark

Remix es un marco de trabajo web que te ofrece el modelo mental simple de una aplicación de múltiples páginas (MPA) pero el poder y las capacidades de una aplicación de una sola página (SPA). Uno de los grandes desafíos de las SPA es la gestión de la red que resulta en una gran cantidad de indirecciones y código defectuoso. Esto es especialmente notable en el estado de la aplicación que Remix elimina por completo, pero también es un problema en los componentes individuales que se comunican con un punto final de backend de un solo propósito (como una búsqueda de combobox, por ejemplo).


En esta charla, Kent demostrará cómo Remix te permite construir componentes de interfaz de usuario complejos que están conectados a un backend de la manera más simple y poderosa que hayas visto. Dejándote tiempo para relajarte con tu familia o lo que sea que hagas para divertirte.

FAQ

RemixConf EU es un evento donde se habla sobre tecnologías y desarrollos relacionados con Remix, un marco de trabajo de full stack. Durante el evento se realizan presentaciones y demostraciones sobre cómo usar Remix en diferentes contextos de desarrollo.

Epicweb.dev es un proyecto en el que el ponente está trabajando actualmente a tiempo completo. Se menciona como algo notable durante la presentación, sugiriendo que es un recurso relevante en el contexto del desarrollo web.

Las diapositivas y el material relacionado con la charla están disponibles en el GitHub del ponente, permitiendo a los interesados revisar en detalle lo expuesto durante la conferencia.

La charla incluyó una demostración de cómo Remix permite integrar componentes de UI y código del lado del servidor en un mismo archivo, facilitando la creación de interfaces y acciones más integradas y eficientes.

Remix trata los módulos sin una exportación por defecto como un recurso, lo que permite crear rutas API directamente dentro de los componentes, como se demostró con un ejemplo de búsqueda de clientes durante la presentación.

Se mencionó la biblioteca Downshift, creada por el ponente cuando estaba en PayPal, la cual ayuda a gestionar cuadros combinados en interfaces de usuario de manera eficiente.

El useFetcher es un hook en Remix que permite interactuar con cargadores y acciones para realizar búsquedas y otras operaciones de datos de manera dinámica, facilitando la interacción con la API sin recargar la página.

La característica favorita del ponente respecto a Remix son las Mutations, destacando cómo Remix maneja el state management de la aplicación de manera efectiva, simplificando la creación y gestión de estados en aplicaciones web.

Kent C. Dodds
Kent C. Dodds
37 min
18 Nov, 2022

Comments

Sign in or register to post your comment.

Video Summary and Transcription

RemixConf EU discutió los componentes de full stack y sus beneficios, como la unión del backend y la interfaz de usuario en el mismo archivo. La charla demostró la implementación de un cuadro combinado con funcionalidad de búsqueda utilizando Remix y la biblioteca Downshift. También destacó la facilidad de crear rutas de recursos en Remix y la importancia de la organización y mantenibilidad del código en los componentes de full stack. El orador expresó su gratitud hacia la audiencia y discutió el futuro de Remix, incluyendo su adquisición por Shopify y el potencial para la colaboración con Hydrogen.

Available in English: Full Stack Components

1. Introducción a los Componentes de Full Stack

Short description:

Estoy emocionado por RemixConf EU y hablar sobre los componentes de full stack. Estoy trabajando en Epicweb.dev, mi cosa a tiempo completo ahora. Esta charla es una demostración de componentes que incluyen código de UI y del lado del servidor. Hablaremos de Remix, nuestro marco de trabajo de full stack favorito.

¿Qué pasa amigos de Remix? Estoy muy emocionado por RemixConf EU y estoy realmente emocionado de estar hablando con todos ustedes sobre los componentes de full stack, así que vamos a hablar sobre llevar la colocación al siguiente nivel.

Así que una cosa de la que quería hablar rápidamente es que estoy trabajando en Epicweb.dev, si aún no lo has visto definitivamente échale un vistazo. Es mi cosa a tiempo completo ahora, es increíble. Y todas mis diapositivas y todo para esta charla están en mi GitHub por lo que puedes echar un vistazo a eso allí.

Así que esta charla va a ser una demostración de componentes que incluyen tanto el code de la UI como un code del lado del servidor y vamos a estar haciendo mucho código y así que sí, abróchate el cinturón. Vamos a estar hablando de Remix, por supuesto nuestro UI framework favorito. Bueno, marco de trabajo de full stack, no solo UI y eso es parte de lo que se trata esta charla.

2. Explorando las Características de Remix

Short description:

Remix nos permite unir el backend y la UI en el mismo archivo. Podemos construir UIs que no están centradas en la URL, como el botón de 'me gusta' de Twitter. Vamos a demostrar un cuadro combinado que realiza una búsqueda. Tenemos una aplicación en funcionamiento con una ruta para buscar clientes. Podemos exportar un componente que consume el cargador. Estamos utilizando la biblioteca Downshift para la experiencia del cuadro combinado.

Así que Remix nos permitió unir el backend y la UI de una manera que nunca se había hecho antes con el cargador y la acción y nuestra UI todo en el mismo archivo. Y esta es una demostración bastante simple de cómo funciona desde una perspectiva de ruta. Así que tenemos nuestra ruta de proyectos y aquí tenemos nuestro cargador para cargar esos proyectos y tenemos nuestro formulario para agregar nuevos proyectos y la pieza de backend para esa mutación.

Pero a veces tenemos UIs que no son tan centradas en la URL, por ejemplo el botón de 'me gusta' de Twitter, cuando hago clic en ese botón de 'me gusta' eso no me va a llevar a otro lugar, no solo lo renderizo en una página especial que tiene una ruta específica, renderizo el botón de 'me gusta' para cada uno de los tweets que están en la página y eso no funciona muy bien como algo que te gustaría pegar en un cargador o una acción para una ruta particular necesariamente y aquí hay otro ejemplo de un cuadro combinado que está haciendo una búsqueda y esto es lo que realmente vamos a estar demostrando hoy.

Así que, tengo una implementación de esta aplicación aquí mismo, no estamos renderizando el cuadro combinado todavía porque vamos a construirlo juntos y conectarlo al backend y va a ser genial. Así que, eso es todo. Es hora de la demo. Así que, lo primero es que tenemos esta aplicación en funcionamiento aquí mismo, estamos en la versión 01.b4 de la aplicación y estamos en el directorio de la aplicación bajo rutas y bajo este directorio de recursos es donde encontraremos a los clientes. Así que, vamos a tener esta ruta para slash recursos slash clientes y esa va a ser la ruta de la API que vamos a estar usando para ir a buscar un montón de clientes.

Ahora, una cosa realmente genial sobre Remix es que si no tienes una exportación por defecto de tu módulo, Remix tratará tu módulo como un recurso. Y así, lo que queremos decir con eso específicamente es que puedo decir exportar una función asíncrona, vaya, una función, vamos, ahí, llamada cargador y aquí voy a devolver JSON y ese JSON en realidad va a venir de Remix run node y diremos hola mundo. Y si guardo eso y vengo aquí, puedo ir a recursos, clientes y voy a obtener hola mundo. Ahora, no hay nada especial en el directorio de recursos aparte del hecho de que mi editor parece que le gusta darle un icono especial, pero no hay nada especial en esto. Podemos llamar a esto como queramos y resulta que la forma en que me gusta que funcione mi URL para esto es tener un slash recursos y eso es todo. Así que donde quiera que queramos que sea esa URL, ahí es donde va a estar el archivo. Así que al tener una exportación de cargador pero sin exportación por defecto, esta es solo una solicitud regular para como una solicitud de API. Así que con eso en su lugar, ahora podemos construir algo de UI que interactúa directamente con este cargador que hace solicitudes de búsqueda. Pero lo que es realmente genial de Remix es que en realidad podemos añadir un montón de otras exportaciones a esto también. Podemos exportar const koala equals Kodi, como no importa. Podemos hacer lo que queramos aquí y Remix lo ignorará en sus construcciones. Así que lo que eso significa es que en realidad podemos exportar un componente aquí que consume este cargador y eso es exactamente lo que vamos a hacer. Y porque sé que probablemente no te importa verme escribir un montón de JSX, en realidad he escrito todo el material de JSX allí. Así que aquí está nuestro cargador, es justo lo que teníamos antes, pero luego tenemos un montón de otras cosas de JSX aquí que, como dije, probablemente no te importa verme hacer todo eso. Así que saltándonos la parte de JSX, la parte más importante e interesante aquí es que estamos usando esto use combo box, que es un gancho de Downshift. Downshift es una biblioteca que construí hace años cuando estaba en PayPal, y es para hacer esta experiencia de cuadro combinado para nosotros. Y todo lo que necesitamos hacer es proporcionarle los elementos y podemos responder a los cambios de valor de entrada a medida que el usuario está escribiendo. Así que eso es perfecto. Eso es exactamente las dos cosas que necesitamos. Y con eso estamos exportando este cuadro combinado, pero todavía somos solo una ruta de recurso. No hay nada especial pasando aquí.

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

Construyendo Mejores Sitios Web con Remix
React Summit Remote Edition 2021React Summit Remote Edition 2021
33 min
Construyendo Mejores Sitios Web con Remix
Top Content
Remix es un nuevo marco de trabajo web de los creadores de React Router que te ayuda a construir mejores y más rápidos sitios web a través de una sólida comprensión de los fundamentos de la web. Remix se encarga de las tareas pesadas como la renderización del servidor, la división de código, la precarga y la navegación, y te deja con la parte divertida: ¡construir algo increíble!
No resuelvas problemas, elimínalos
React Advanced Conference 2021React Advanced Conference 2021
39 min
No resuelvas problemas, elimínalos
Top Content
Los humanos son solucionadores de problemas naturales y somos lo suficientemente buenos en eso que hemos sobrevivido a lo largo de los siglos y nos hemos convertido en la especie dominante del planeta. Debido a que somos tan buenos en eso, a veces también nos convertimos en buscadores de problemas, buscando problemas que podemos resolver. Aquellos que logran sus objetivos de la manera más exitosa son los eliminadores de problemas. Hablemos de la distinción entre resolver y eliminar problemas con ejemplos de dentro y fuera del mundo de la codificación.
Escalando con Remix y Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Escalando con Remix y Micro Frontends
Top Content
¿Tienes un producto grande construido por muchos equipos? ¿Estás luchando para lanzar a menudo? ¿Se convirtió tu frontend en un monolito inmantenible masivo? Si, como yo, has respondido sí a cualquiera de esas preguntas, ¡esta charla es para ti! Te mostraré exactamente cómo puedes construir una arquitectura de micro frontend con Remix para resolver esos desafíos.
Entendiendo la Arquitectura Fiber de React
React Advanced Conference 2022React Advanced Conference 2022
29 min
Entendiendo la Arquitectura Fiber de React
Top Content
Hemos escuchado mucho sobre la Arquitectura Fiber de React, pero parece que pocos de nosotros la entendemos en profundidad (o tenemos el tiempo para hacerlo). En esta charla, Tejas repasará su mejor intento de entender Fiber (revisado por otros expertos), y lo presentará de una manera 'explicar-como-si-tuviera-cinco años'.
Haciendo JavaScript en WebAssembly Rápido
JSNation Live 2021JSNation Live 2021
29 min
Haciendo JavaScript en WebAssembly Rápido
Top Content
JavaScript en el navegador se ejecuta muchas veces más rápido de lo que lo hacía hace dos décadas. Y eso sucedió porque los proveedores de navegadores pasaron ese tiempo trabajando en intensivas optimizaciones de rendimiento en sus motores JavaScript.Debido a este trabajo de optimización, JavaScript ahora se está ejecutando en muchos lugares además del navegador. Pero todavía hay algunos entornos donde los motores JS no pueden aplicar esas optimizaciones de la manera correcta para hacer las cosas rápidas.Estamos trabajando para resolver esto, comenzando una nueva ola de trabajo de optimización de JavaScript. Estamos mejorando el rendimiento de JavaScript para entornos completamente diferentes, donde se aplican reglas diferentes. Y esto es posible gracias a WebAssembly. En esta charla, explicaré cómo funciona todo esto y qué vendrá a continuación.
Depuración de JS
React Summit 2023React Summit 2023
24 min
Depuración de JS
Top Content
Como desarrolladores, pasamos gran parte de nuestro tiempo depurando aplicaciones, a menudo código que ni siquiera escribimos. Lamentablemente, a pocos desarrolladores se les ha enseñado cómo abordar la depuración, es algo que la mayoría de nosotros aprendemos a través de la experiencia dolorosa. La buena noticia es que _puedes_ aprender a depurar de manera efectiva, y hay varias técnicas y herramientas clave que puedes usar para depurar aplicaciones de JS y React.

Workshops on related topic

Fundamentos de Remix
React Summit 2022React Summit 2022
136 min
Fundamentos de Remix
Top Content
Featured WorkshopFree
Kent C. Dodds
Kent C. Dodds
Construir aplicaciones web modernas está lleno de complejidad. Y eso solo si te molestas en lidiar con los problemas
¿Cansado de conectar onSubmit a las API del backend y asegurarte de que tu caché del lado del cliente se mantenga actualizada? ¿No sería genial poder utilizar la naturaleza global de CSS en tu beneficio, en lugar de buscar herramientas o convenciones para evitarla o trabajar alrededor de ella? ¿Y qué te parecería tener diseños anidados con una gestión de datos inteligente y optimizada para el rendimiento que simplemente funciona™?
Remix resuelve algunos de estos problemas y elimina completamente el resto. Ni siquiera tienes que pensar en la gestión de la caché del servidor o en los conflictos del espacio de nombres global de CSS. No es que Remix tenga APIs para evitar estos problemas, simplemente no existen cuando estás usando Remix. Ah, y no necesitas ese enorme y complejo cliente graphql cuando estás usando Remix. Ellos te tienen cubierto. ¿Listo para construir aplicaciones más rápidas de manera más rápida?
Al final de esta masterclass, sabrás cómo:- Crear Rutas de Remix- Estilizar aplicaciones de Remix- Cargar datos en los cargadores de Remix- Mutar datos con formularios y acciones
IA a demanda: IA sin servidor
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
IA a demanda: IA sin servidor
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
En esta masterclass, discutimos los méritos de la arquitectura sin servidor y cómo se puede aplicar al espacio de la IA. Exploraremos opciones para construir aplicaciones RAG sin servidor para un enfoque más lambda-esque a la IA. A continuación, nos pondremos manos a la obra y construiremos una aplicación CRUD de muestra que te permite almacenar información y consultarla utilizando un LLM con Workers AI, Vectorize, D1 y Cloudflare Workers.
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.
De vuelta a las raíces con Remix
React Summit 2023React Summit 2023
106 min
De vuelta a las raíces con Remix
Featured Workshop
Alex Korzhikov
Pavlik Kiselev
2 authors
La web moderna sería diferente sin aplicaciones ricas del lado del cliente respaldadas por potentes frameworks: React, Angular, Vue, Lit y muchos otros. Estos frameworks se basan en JavaScript del lado del cliente, que es su núcleo. Sin embargo, existen otros enfoques para el renderizado. Uno de ellos (bastante antiguo, por cierto) es el renderizado del lado del servidor completamente sin JavaScript. Descubramos si esta es una buena idea y cómo Remix puede ayudarnos con ello?
Prerrequisitos- Buen entendimiento de JavaScript o TypeScript- Sería útil tener experiencia con React, Redux, Node.js y escribir aplicaciones FrontEnd y BackEnd- Preinstalar Node.js, npm- Preferimos usar VSCode, pero también se pueden utilizar IDE en la nube como codesandbox (otros IDE también están bien)
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
Construye y lanza un blog personal usando Remix y Vercel
Remix Conf Europe 2022Remix Conf Europe 2022
156 min
Construye y lanza un blog personal usando Remix y Vercel
Featured Workshop
Robert Pop
Robert Pop
En este masterclass aprenderemos cómo construir un blog personal desde cero usando Remix, TailwindCSS. El blog será alojado en Vercel y todo el contenido será servido dinámicamente desde un repositorio separado en GitHub. Utilizaremos HTTP Caching para las publicaciones del blog.
Lo que queremos lograr al final del masterclass es tener una lista de nuestras publicaciones de blog mostradas en la versión desplegada del sitio web, la capacidad de filtrarlas y leerlas individualmente.
Tabla de contenidos:- Configurar un proyecto de Remix con una pila predefinida- Instalar dependencias adicionales- Leer contenido desde GitHub- Mostrar contenido desde GitHub- Analizar el contenido y cargarlo en nuestra aplicación usando mdx-bundler- Crear una página separada para las publicaciones de blog para mostrarlas de forma independiente- Agregar filtros a la lista inicial de publicaciones de blog