Escalando con Remix y Micro Frontends

Rate this content
Bookmark

¿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.

This talk has been presented at Remix Conf Europe 2022, check out the latest edition of this React Conference.

FAQ

Kazoo utiliza un enfoque de diseño orientado al dominio, donde cada equipo es responsable de un segmento vertical del problema y manejan su propio front-end, back-end y despliegue.

Tiny frontend se puede integrar en aplicaciones Remix instalándolo como un paquete npm. Este paquete permite la carga asincrónica de componentes React en tiempo de ejecución, lo que se ajusta a las necesidades de actualización dinámica de microfrontends.

La segmentación vertical en microfrontends se refiere a la división de la aplicación en diferentes segmentos gestionados por distintos equipos. La segmentación horizontal implica compartir componentes comunes como encabezados y pies de página entre diversas partes de la aplicación.

Tiny frontend utiliza el framework como pegamento en tiempo de ejecución, promueve la seguridad de tipo con TypeScript y asegura que las dependencias compartidas sean compatibles. Además, maneja actualizaciones automáticas para cambios no destructivos y requiere actualizaciones manuales para cambios significativos.

Tiny frontend es una biblioteca creada para manejar despliegues independientes de componentes en microfrontends. Permite que un paquete de NPM busque su última implementación en tiempo de ejecución, facilitando la actualización de componentes sin necesidad de recompilar toda la aplicación.

Kazoo es una empresa que compra y vende coches usados en línea en el Reino Unido, similar a Carvanha en EE. UU. Ofrecen un servicio donde el coche se entrega en tu puerta y tienes siete días para probarlo. Si no te gusta, puedes devolver el coche sin problemas.

Un microfrontend se refiere a la práctica de descomponer interfaces de usuario en piezas más pequeñas, cada una gestionada por equipos independientes. En Kazoo, esto se manifiesta en cómo los equipos manejan diferentes segmentos del sitio web, como búsqueda de vehículos, gestión de cuentas y financiamiento al consumidor.

Adrien Baron
Adrien Baron
23 min
18 Nov, 2022

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta charla discute el uso de Microfrontends en Remix e introduce la biblioteca Tiny Frontend. Kazoo, una plataforma de compra de coches usados, sigue un enfoque de diseño impulsado por dominios y encontró problemas con el rebanado granular. Tiny Frontend tiene como objetivo resolver el problema de rebanado y promueve la seguridad de tipo y la compatibilidad de dependencias compartidas. El orador demuestra cómo funciona Tiny Frontend con la representación del lado del servidor y cómo Remix puede consumir y actualizar componentes sin volver a desplegar la aplicación. La charla también explora el uso de micro frontends y el futuro soporte para Webpack Module Federation en Remix.

1. Introducción a Remix y Microfontains

Short description:

En esta charla, discutiremos cómo usar Microfontains en Remix. Tengo experiencia como ingeniero de software senior en Tractable y como ingeniero de software principal en Kazoo, donde lideré el esfuerzo de microfontain.

¡Hey! Hola a todos. Y bienvenidos a esta charla, Escalando con Remix y Microfontains, en la que hablaremos sobre cómo usar Microfontains en Remix. Un poco sobre mí. Mi nombre es Soy un ingeniero de software senior en Tractable, que es una empresa genial que hace AI y aprendizaje de máquinas para seguros. Así que tomamos tecnología genial en un mercado bastante aburrido, e intentamos hacerlo más moderno. Antes de eso, era un ingeniero de software principal en Kazoo, y en esa empresa, lideré el esfuerzo de microfontain. Así que voy a hablar principalmente sobre mi trabajo allí.

2. Introducción a Kazoo

Short description:

Kazoo es una mejor manera de comprar un coche usado. Compran coches usados, los venden en línea y los entregan en tu puerta. Tienes siete días para probarlo y si no te gusta, puedes devolverlo. Es como un sitio web de comercio electrónico tradicional, pero con artículos de alto valor.

Entonces, probablemente te estés preguntando, ¿qué es un kazoo? Probablemente pensé en eso. Ese no es el tipo de kazoo del que vamos a hablar. Voy a hablar de este kazoo. Kazoo es una mejor manera de comprar un coche usado. Es básicamente, para las personas en los EE. UU., es un clon de Carvanha, pero en el Reino Unido. Y lo que hace es, básicamente compran coches usados y luego los venden en línea. Lo entregan en tu puerta, y tienes siete días para probarlo. Si no te gusta, simplemente devuelves el coche, sin problema, sin preguntas. Así que es solo tu e-commerce tradicional. Como, para las personas que construyen como nosotros, miras esto, dices, oh, es un sitio web de e-commerce. Sí, es un sitio web de e-commerce. Excepto cada

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 is a web framework built on React Router that focuses on web fundamentals, accessibility, performance, and flexibility. It delivers real HTML and SEO benefits, and allows for automatic updating of meta tags and styles. It provides features like login functionality, session management, and error handling. Remix is a server-rendered framework that can enhance sites with JavaScript but doesn't require it for basic functionality. It aims to create quality HTML-driven documents and is flexible for use with different web technologies and stacks.
No resuelvas problemas, elimínalos
React Advanced 2021React Advanced 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.
Entendiendo la Arquitectura Fiber de React
React Advanced 2022React Advanced 2022
29 min
Entendiendo la Arquitectura Fiber de React
Top Content
This Talk explores React's internal jargon, specifically fiber, which is an internal unit of work for rendering and committing. Fibers facilitate efficient updates to elements and play a crucial role in the reconciliation process. The work loop, complete work, and commit phase are essential steps in the rendering process. Understanding React's internals can help with optimizing code and pull request reviews. React 18 introduces the work loop sync and async functions for concurrent features and prioritization. Fiber brings benefits like async rendering and the ability to discard work-in-progress trees, improving user experience.
Componentes de Full Stack
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Componentes de Full Stack
Top Content
RemixConf EU discussed full stack components and their benefits, such as marrying the backend and UI in the same file. The talk demonstrated the implementation of a combo box with search functionality using Remix and the Downshift library. It also highlighted the ease of creating resource routes in Remix and the importance of code organization and maintainability in full stack components. The speaker expressed gratitude towards the audience and discussed the future of Remix, including its acquisition by Shopify and the potential for collaboration with Hydrogen.
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.
Haciendo JavaScript en WebAssembly Rápido
JSNation Live 2021JSNation Live 2021
29 min
Haciendo JavaScript en WebAssembly Rápido
Top Content
WebAssembly enables optimizing JavaScript performance for different environments by deploying the JavaScript engine as a portable WebAssembly module. By making JavaScript on WebAssembly fast, instances can be created for each request, reducing latency and security risks. Initialization and runtime phases can be improved with tools like Wiser and snapshotting, resulting in faster startup times. Optimizing JavaScript performance in WebAssembly can be achieved through techniques like ahead-of-time compilation and inline caching. WebAssembly usage is growing outside the web, offering benefits like isolation and portability. Build sizes and snapshotting in WebAssembly depend on the application, and more information can be found on the Mozilla Hacks website and Bike Reliance site.

Workshops on related topic

Domina los Patrones de JavaScript
JSNation 2024JSNation 2024
145 min
Domina los Patrones de JavaScript
Top Content
Featured Workshop
Adrian Hajdin
Adrian Hajdin
Durante esta masterclass, los participantes revisarán los patrones esenciales de JavaScript que todo desarrollador debería conocer. A través de ejercicios prácticos, ejemplos del mundo real y discusiones interactivas, los asistentes profundizarán su comprensión de las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables. Al final de la masterclass, los participantes ganarán una nueva confianza en su capacidad para escribir código JavaScript de alta calidad que resista el paso del tiempo.
Puntos Cubiertos:
1. Introducción a los Patrones de JavaScript2. Patrones Fundamentales3. Patrones de Creación de Objetos4. Patrones de Comportamiento5. Patrones Arquitectónicos6. Ejercicios Prácticos y Estudios de Caso
Cómo Ayudará a los Desarrolladores:
- Obtener una comprensión profunda de los patrones de JavaScript y sus aplicaciones en escenarios del mundo real- Aprender las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables- Mejorar las habilidades de resolución de problemas y la legibilidad del código- Mejorar la colaboración y la comunicación dentro de los equipos de desarrollo- Acelerar el crecimiento de la carrera y las oportunidades de avance en la industria del software
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.
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
React Day Berlin 2022React Day Berlin 2022
86 min
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
Top Content
WorkshopFree
Hussien Khayoon
Kahvi Patel
2 authors
Usar una biblioteca puede parecer fácil a primera vista, pero ¿cómo eliges la biblioteca correcta? ¿Cómo actualizas una existente? ¿Y cómo te abres camino a través de la documentación para encontrar lo que quieres?
En esta masterclass, discutiremos todos estos puntos finos mientras pasamos por un ejemplo general de construcción de un editor de código usando CodeMirror en React. Todo mientras compartimos algunas de las sutilezas que nuestro equipo aprendió sobre el uso de esta biblioteca y algunos problemas que encontramos.
Fundamentos de Remix
React Summit 2022React Summit 2022
136 min
Fundamentos de Remix
Top Content
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
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.