Construyendo Mejores Sitios Web con Remix

Rate this content
Bookmark

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!

This talk has been presented at React Summit Remote Edition 2021, check out the latest edition of this React Conference.

FAQ

Remix es un marco web construido sobre React Router, diseñado para mejorar la experiencia de desarrollo de sitios web con React. Utiliza los fundamentos web para crear sitios accesibles, de alto rendimiento y flexibles.

Remix puede ser implementado en diversas plataformas como servidores privados virtuales, AWS Lambda, Cloudflare Workers y más. Está diseñado para soportar múltiples proveedores de nube y adaptarse a sus fortalezas específicas.

Remix maneja de manera eficiente los estilos CSS y JavaScript al agregar o quitar automáticamente los estilos necesarios según las rutas activas en la página, evitando conflictos y optimizando la carga de recursos.

Remix permite crear aplicaciones de React completamente renderizadas en el servidor, lo que mejora la SEO y la velocidad de carga al enviar directamente HTML real a los navegadores, sin necesidad de hidratación inicial del cliente.

Remix ofrece un modelo de programación único que es compatible con cualquier lugar de implementación, y proporciona herramientas que facilitan el uso de tecnologías web estándar como HTML y formularios.

Remix está diseñado para mejorar la experiencia de usuario proporcionando sitios web rápidos, accesibles y fáciles de mantener, enfocándose en los fundamentos web y la mejora progresiva sin dependencia excesiva de JavaScript.

En Remix, un 'loader' es una función utilizada para cargar datos en el servidor antes de que se renderice una página. Funciona similar a obtener props del lado del servidor en frameworks como Next.js, ideal para operaciones de lectura.

Michael Jackson
Michael Jackson
33 min
14 May, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Remix es un marco de trabajo web construido sobre React Router que se enfoca en los fundamentos de la web, la accesibilidad, el rendimiento y la flexibilidad. Ofrece beneficios reales de HTML y SEO, y permite la actualización automática de metaetiquetas y estilos. Proporciona características como funcionalidad de inicio de sesión, gestión de sesiones y manejo de errores. Remix es un marco de trabajo renderizado por el servidor que puede mejorar los sitios con JavaScript pero no lo requiere para la funcionalidad básica. Su objetivo es crear documentos de calidad impulsados por HTML y es flexible para su uso con diferentes tecnologías y pilas web.

1. Introducción al marco web Remix

Short description:

¡Hola a todos! Hoy estoy emocionado de compartir Remix, un marco web construido sobre React Router. Remix proporciona una experiencia increíble para desarrollar sitios web con React, enfocándose en los fundamentos de la web, la accesibilidad, el rendimiento y la flexibilidad. Haremos una demostración rápida utilizando nuestra plantilla de inicio Express, que se puede implementar en varios proveedores de la nube. Remix es un modelo de programación único que funciona en cualquier lugar. Comenzaremos en los puntos de entrada, el punto de entrada del cliente para el renderizado en el navegador y el punto de entrada del servidor para el renderizado del servidor. Remix ofrece beneficios reales de HTML y SEO utilizando renderizar a cadena.

Hola a todos, ¿qué tal? Mi nombre es Michael Jackson. Estoy muy emocionado de estar aquí con ustedes hoy en la Cumbre de React. Muchas gracias por sintonizar mi charla. Estoy emocionado de compartir con ustedes lo que he estado trabajando hoy, específicamente, quiero hablar sobre Remix, que es un marco web que he estado construyendo durante el último año más o menos con mi socio comercial, Ryan Florence. Juntos, hemos estado trabajando en el Router de React durante los últimos cinco o seis años, que es un software de código abierto, es bastante grande, es utilizado por muchos personas alrededor del mundo para construir experiencias web increíbles. Remix está construido sobre el Router de React, las cosas increíbles que estamos construyendo para Remix en realidad van a regresar al Router de React. La idea detrás de Remix es que creemos que debería haber una experiencia increíble para desarrollar sitios web con el Router de React, con React, sitios web que están construidos sobre fundamentos web y que son simplemente increíbles para las personas, en términos de accesibilidad, en términos de rendimiento, y en términos de flexibilidad y potencia de las herramientas que tienes a tu disposición para construir cosas realmente geniales. Así que estoy realmente emocionado de compartir Remix con ustedes hoy. Y pensé en hacer una demostración rápida. Solo tengo 20 minutos, así que esto va a ser bastante rápido. Pero quería mostrarles cómo, saben, darles un pequeño recorrido por Remix y algunas de las cosas en las que hemos estado trabajando, y mostrarles cómo es construir una pequeña, saben, solo una pequeña aplicación con Remix. Así que en realidad voy a estar usando nuestra plantilla de inicio Express. Así que tenemos algunas de estas plantillas de inicio. Tenemos algunas, tenemos una ahora mismo para Express, que puedes implementar en cualquier servidor privado virtual antiguo que quieras o cualquier, sabes, muchos diferentes proveedores de nube simplemente ejecutarán aplicaciones Node. También tenemos una para Vercel. También tenemos una para arquitecto, que es, sabes, ejecutándose en AWS lambda. Tenemos soporte en camino para Netlify, para Firebase, y para los trabajadores de Cloudflare. Así que nuestro plan es con Remix simplemente soportar cualquier lugar donde quieras implementar una aplicación web, porque todos tienen sus diferentes, sabes, fortalezas y Remix es un único modelo de programación que puede funcionar en cualquiera de ellos. Así que voy a empezar con nuestro inicio Express. Tengo una pequeña aplicación aquí que en realidad, he estado trabajando en ella solo un poco. Es básicamente el inicio Express, pero he añadido algunos componentes. Tengo Tailwind funcionando aquí, tengo PostCSS funcionando, y ya tengo un par de rutas aquí. Así que vamos a empezar justo en la cima, justo en nuestros puntos de entrada. Así que tenemos dos puntos de entrada aquí en tu carpeta de aplicaciones. Este es el punto de entrada del cliente, así que este es un viejo hidrato de DOM de React normal, y el componente que estamos renderizando es nuestro componente de navegador Remix. Este es el que renderizas cuando llegas al navegador, y así tienes control total sobre tu punto de entrada si quisieras hacer algo globalmente en el navegador, puedes seguir adelante y hacerlo aquí en tu punto de entrada del cliente. En tu punto de entrada del servidor, esto normalmente se ejecuta en Node, pero esta es una función que es básicamente responsable de renderizar el HTML. Así que Remix es completamente aplicaciones de React renderizadas en el servidor, ¿verdad? Vas a obtener toda esa bondad de SEO, todo lo que te gusta, enviando HTML real por el cable, no estamos enviando solo una carcasa, y luego lo llenas más tarde. Este es HTML real. Así que estamos usando un renderizado estándar a cadena aquí

2. Devolviendo la página HTML y descripción general de la ruta

Short description:

Estamos devolviendo una página HTML utilizando la API de búsqueda web en Node. La ruta raíz en React Router sirve como el único punto de entrada, renderizando todo el documento. El componente outlet se utiliza para renderizar las rutas hijas. Cada ruta puede definir metaetiquetas para la página. El servidor de desarrollo está en funcionamiento, y vemos la página de bienvenida a Remix con un párrafo de hola mundo. Hoy haremos una demostración de autenticación.

para renderizar nuestro componente de servidor Remix. Y allí estamos devolviendo una página HTML. En esta función, obtienes una solicitud y devuelves una respuesta. Estos objetos no son cosas que inventamos. Estos son solo de la API de búsqueda web. Así que aunque esta función se ejecuta en Node, puedes usar las primitivas de búsqueda familiares que usas en la web. Así que esos son nuestros puntos de entrada para el cliente y el servidor. Vamos a echar un vistazo a nuestras rutas. Siempre tienes la ruta raíz. La ruta raíz es el único punto de entrada para React Router. Así que esta aplicación realmente llega a renderizar todo el documento. Vimos antes que estábamos en el documento. Así que aquí renderizamos el elemento html, el elemento head, el elemento body, estamos renderizando metaetiquetas y enlaces, echaremos un vistazo a esos en un segundo. Y luego tenemos un outlet aquí. Así que este es el elemento en React Router V6 que una ruta usa para renderizar sus rutas hijas. Así que el contenido de la página, al igual que la carne y el queso en un sándwich, simplemente va a ir allí en este componente outlet. Así que eso va estas rutas, ya sea la ruta 404 o la ruta índice. Así que vamos a echar un vistazo a nuestras rutas. Así que notarás en nuestra ruta índice, tenemos un componente aquí. Nosotros también tenemos esta función meta. Así que cada ruta tiene la oportunidad de definir estas son mis meta etiquetas que necesito. Ya sabes, información meta sobre la página. Así que en este caso, tenemos el título y la descripción para esta página. Así que vamos a asegurarnos de que nuestro servidor de desarrollo está en funcionamiento. Así que nuestro servidor de desarrollo ya está funcionando aquí. Así que vamos a encender eso en el navegador y ver lo que obtenemos. Vale, así que tenemos nuestra página de bienvenida a Remix. Esto es solo nuestro hola mundo. Básicamente, solo estamos renderizando esta pequeña etiqueta de párrafo. Vamos a modificar el título Remix. Vamos a hacer una demostración de autenticación hoy

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

Una Guía del Comportamiento de Renderizado de React
React Advanced Conference 2022React Advanced Conference 2022
25 min
Una Guía del Comportamiento de Renderizado de React
Top Content
This transcription provides a brief guide to React rendering behavior. It explains the process of rendering, comparing new and old elements, and the importance of pure rendering without side effects. It also covers topics such as batching and double rendering, optimizing rendering and using context and Redux in React. Overall, it offers valuable insights for developers looking to understand and optimize React rendering.
No resuelvas problemas, elimínalos
React Advanced Conference 2021React Advanced Conference 2021
39 min
No resuelvas problemas, elimínalos
Top Content
Kent C. Dodds discusses the concept of problem elimination rather than just problem-solving. He introduces the idea of a problem tree and the importance of avoiding creating solutions prematurely. Kent uses examples like Tesla's electric engine and Remix framework to illustrate the benefits of problem elimination. He emphasizes the value of trade-offs and taking the easier path, as well as the need to constantly re-evaluate and change approaches to eliminate problems.
Escalando con Remix y Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Escalando con Remix y Micro Frontends
Top Content
This talk discusses the usage of Microfrontends in Remix and introduces the Tiny Frontend library. Kazoo, a used car buying platform, follows a domain-driven design approach and encountered issues with granular slicing. Tiny Frontend aims to solve the slicing problem and promotes type safety and compatibility of shared dependencies. The speaker demonstrates how Tiny Frontend works with server-side rendering and how Remix can consume and update components without redeploying the app. The talk also explores the usage of micro frontends and the future support for Webpack Module Federation in Remix.
Compilador React Forget - Entendiendo React Idiomático
React Advanced Conference 2023React Advanced Conference 2023
33 min
Compilador React Forget - Entendiendo React Idiomático
Top Content
Joe Savona
Mofei Zhang
2 authors
The Talk discusses React Forget, a compiler built at Meta that aims to optimize client-side React development. It explores the use of memoization to improve performance and the vision of Forget to automatically determine dependencies at build time. Forget is named with an F-word pun and has the potential to optimize server builds and enable dead code elimination. The team plans to make Forget open-source and is focused on ensuring its quality before release.
Uso efectivo de useEffect
React Advanced Conference 2022React Advanced Conference 2022
30 min
Uso efectivo de useEffect
Top Content
Today's Talk explores the use of the useEffect hook in React development, covering topics such as fetching data, handling race conditions and cleanup, and optimizing performance. It also discusses the correct use of useEffect in React 18, the distinction between Activity Effects and Action Effects, and the potential misuse of useEffect. The Talk highlights the benefits of using useQuery or SWR for data fetching, the problems with using useEffect for initializing global singletons, and the use of state machines for handling effects. The speaker also recommends exploring the beta React docs and using tools like the stately.ai editor for visualizing state machines.
Acelerando tu aplicación React con menos JavaScript
React Summit 2023React Summit 2023
32 min
Acelerando tu aplicación React con menos JavaScript
Top Content
Mishko, the creator of Angular and AngularJS, discusses the challenges of website performance and JavaScript hydration. He explains the differences between client-side and server-side rendering and introduces Quik as a solution for efficient component hydration. Mishko demonstrates examples of state management and intercommunication using Quik. He highlights the performance benefits of using Quik with React and emphasizes the importance of reducing JavaScript size for better performance. Finally, he mentions the use of QUIC in both MPA and SPA applications for improved startup performance.

Workshops on related 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 🤐)
Aventuras de Renderizado Concurrente en React 18
React Advanced Conference 2021React Advanced Conference 2021
132 min
Aventuras de Renderizado Concurrente en React 18
Top Content
Featured WorkshopFree
Maurice de Beijer
Maurice de Beijer
Con el lanzamiento de React 18 finalmente obtenemos el tan esperado renderizado concurrente. Pero, ¿cómo va a afectar eso a tu aplicación? ¿Cuáles son los beneficios del renderizado concurrente en React? ¿Qué necesitas hacer para cambiar al renderizado concurrente cuando actualices a React 18? ¿Y qué pasa si no quieres o no puedes usar el renderizado concurrente todavía?

¡Hay algunos cambios de comportamiento de los que debes estar al tanto! En esta masterclass cubriremos todos esos temas y más.

Acompáñame con tu portátil en esta masterclass interactiva. Verás lo fácil que es cambiar al renderizado concurrente en tu aplicación React. Aprenderás todo sobre el renderizado concurrente, SuspenseList, la API startTransition y más.
Consejos sobre React Hooks que solo los profesionales conocen
React Summit Remote Edition 2021React Summit Remote Edition 2021
177 min
Consejos sobre React Hooks que solo los profesionales conocen
Top Content
Featured Workshop
Maurice de Beijer
Maurice de Beijer
La adición de la API de hooks a React fue un cambio bastante importante. Antes de los hooks, la mayoría de los componentos tenían que ser basados en clases. Ahora, con los hooks, estos son a menudo componentes funcionales mucho más simples. Los hooks pueden ser realmente simples de usar. Casi engañosamente simples. Porque todavía hay muchas formas en las que puedes equivocarte con los hooks. Y a menudo resulta que hay muchas formas en las que puedes mejorar tus componentes con una mejor comprensión de cómo se puede usar cada hook de React.Aprenderás todo sobre los pros y los contras de los diversos hooks. Aprenderás cuándo usar useState() versus useReducer(). Veremos cómo usar useContext() de manera eficiente. Verás cuándo usar useLayoutEffect() y cuándo useEffect() es mejor.
React, TypeScript y TDD
React Advanced Conference 2021React Advanced Conference 2021
174 min
React, TypeScript y TDD
Top Content
Featured WorkshopFree
Paul Everitt
Paul Everitt
ReactJS es extremadamente popular y, por lo tanto, ampliamente soportado. TypeScript está ganando popularidad y, por lo tanto, cada vez más soportado.

¿Los dos juntos? No tanto. Dado que ambos cambian rápidamente, es difícil encontrar materiales de aprendizaje precisos.

¿React+TypeScript, con los IDEs de JetBrains? Esa combinación de tres partes es el tema de esta serie. Mostraremos un poco sobre mucho. Es decir, los pasos clave para ser productivo, en el IDE, para proyectos de React utilizando TypeScript. En el camino, mostraremos el desarrollo guiado por pruebas y enfatizaremos consejos y trucos en el IDE.
Masterclass Web3 - Construyendo Tu Primer Dapp
React Advanced Conference 2021React Advanced Conference 2021
145 min
Masterclass Web3 - Construyendo Tu Primer Dapp
Top Content
Featured WorkshopFree
Nader Dabit
Nader Dabit
En esta masterclass, aprenderás cómo construir tu primer dapp de pila completa en la blockchain de Ethereum, leyendo y escribiendo datos en la red, y conectando una aplicación de front end al contrato que has desplegado. Al final de la masterclass, entenderás cómo configurar un entorno de desarrollo de pila completa, ejecutar un nodo local e interactuar con cualquier contrato inteligente usando React, HardHat y Ethers.js.
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