Grandes Migraciones: Actualizando una Biblioteca de Componentes a Gran Escala

Rate this content
Bookmark

En Jumbo Tech Campus tenemos un modelo distribuido cuando se trata de nuestra biblioteca de componentes. La forma en que trabajamos en nuestro código compartido nos ha ayudado a migrar de Vue2 a Vue3 con los esfuerzos combinados de toda la capacidad frontend.

This talk has been presented at Vue.js London 2023, check out the latest edition of this JavaScript Conference.

FAQ

La biblioteca de componentes es un conjunto de herramientas y elementos de software construidos en Vue y Nuxt que se utilizan para desarrollar y mantener las aplicaciones y servicios de la empresa. Incluye cientos de componentes que facilitan la construcción de interfaces de usuario y están integrados en un entorno de desarrollo colaborativo.

La principal razón para la migración en YUMBO es la necesidad de actualizar de Vue 2 a Vue 3 y Nuxt 2 a Nuxt 3, debido al anuncio del fin de vida de Vue 2, lo que implica la necesidad de adaptarse a nuevas versiones para mantener el soporte y mejorar la estabilidad y funcionalidad del software.

YUMBO está utilizando un enfoque colaborativo donde cada equipo trabaja en actualizar o reescribir los módulos y micro frontends que dependen de VueX, eliminando esta dependencia y adaptándose a tecnologías más agnósticas como Pina o Apollo Clients. También se utilizan envoltorios o reescrituras completas para hacer los módulos compatibles con Nuxt 3.

La biblioteca de componentes en YUMBO se gestiona mediante un enfoque distribuido donde cada desarrollador puede contribuir y colaborar. Esto permite una inversión colectiva y mantiene el conocimiento distribuido entre todos los colaboradores, minimizando el riesgo de pérdida de conocimiento si alguien abandona la empresa.

Las lecciones clave incluyen la importancia de una dirección común y un plan claro, la necesidad de mantener la compatibilidad con versiones antiguas mientras se avanza hacia nuevas, y la ventaja de un enfoque distribuido que permite a los equipos avanzar de manera independiente pero coordinada, asegurando que todos los componentes del sistema se actualicen de manera efectiva.

YUMBO se asegura de que la migración no afecte a los clientes manteniendo la capacidad de seguir entregando características nuevas durante el proceso de migración. Esto se logra mediante un trabajo coordinado y el uso de tecnologías que permiten la compatibilidad con versiones anteriores hasta que todos los equipos estén listos para el cambio completo a las nuevas versiones.

Joran Quinten
Joran Quinten
22 min
15 May, 2023

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta charla explora la migración y actualización de una Biblioteca de Componentes en Vue y Nuxt. Se inspira en las grandes migraciones de la naturaleza y enfatiza la necesidad de colaboración y compatibilidad. La charla discute la configuración del equipo, incluyendo microservicios y módulos estandarizados. Destaca la migración de Vuex a Pina o Apollo Clients en micro frontends. Se enfatiza el enfoque distribuido para mantener la biblioteca de componentes, así como el uso de Vue Demi para la actualización a Vue 3. La charla enfatiza la importancia de entregar valor y soportar tanto Vue 2 como Vue 3 en el proceso de migración.

1. Introducción a las migraciones y la biblioteca de componentes

Short description:

Gracias por acompañarme hoy en esta charla sobre grandes migraciones y la actualización de la biblioteca de componentes. Compartiré una historia que funciona para nuestra organización y puede inspirarte a aplicar enfoques similares en tu propia empresa. Estaremos actualizando y migrando todo lo construido en Vue y Nuxt. Comencemos. Mi nombre es Johan, soy un desarrollador front-end en Yumbo. No dudes en contactarme si tienes alguna pregunta.

Muy bien. Así que, gracias por acompañarme hoy en esta charla sobre grandes migraciones, la actualización de esta cosa llamada biblioteca de componentes. Y lo que voy a contar o la historia que voy a compartir es algo que funciona para nosotros, para nuestra organización, y no necesariamente se aplica directamente a tu organización, pero espero que puedas tomar algo de inspiración o algunas partes de ella para aplicar en tu propia empresa u organización. Y lo que dice, biblioteca de componentes, aquí en el título, se trata básicamente de todo el entorno que tenemos porque todo lo que tenemos está construido en Vue y Nuxt. Así que estaremos actualizando y migrando todo básicamente durante esta charla, si tienes paciencia conmigo. Así que mi nombre es Johan. Como puedes ver, soy un desarrollador front-end. Trabajo para Yumbo. Explicaré un poco más adelante qué es eso. Puedes encontrarme en Twitter, puedes encontrarme en Mastodon o en mi página web personal. Si tienes alguna pregunta relacionada con este tema u otro tema, no dudes en contactarme después de esta presentación o simplemente charlar conmigo sobre

2. Ejemplos de migración en la naturaleza

Short description:

Esta presentación está inspirada en la serie de la BBC sobre los grandes eventos de la naturaleza, en particular el episodio de la gran migración. Exploraremos diversas migraciones y aprenderemos de ellas. La migración de los ñus es la más grande, con más de un millón de bestias recorriendo 1800 millas. Los caribúes tienen la ruta de migración más larga, cubriendo 3100 millas cada año. Las hormigas de fuego colaboran para atravesar el agua, mientras que los desarrolladores enfrentan desafíos como el traslado de requisitos y las infestaciones de errores. Investigaremos patrones para optimizar la migración y definiremos la migración como un período de movimiento.

estos temas. Ahora, toda esta presentación está inspirada en la serie de la BBC sobre los grandes eventos de la naturaleza, y en este caso particular, el episodio de la gran migración. Aquí puedes ver una imagen de un joven David Attenborough lidiando con algo que se asemeja a un lagarto o algo así. Solía ver esta serie cuando era más joven, generalmente con mi padre, así que tengo muy buenos recuerdos de esta serie, y por eso creo que tiene una buena analogía con lo que hacemos en el desarrollo de software. Veremos cómo lo hacen los expertos en la naturaleza, migrando, y qué podemos aprender de ello en nuestro trabajo diario. Así que elegí un par de migraciones que destacan por diversas razones, y echemos un vistazo a ellas. Creo que la más famosa es, por supuesto, la migración de los ñus. He anotado algunas cosas al respecto porque no conozco todos los detalles de memoria, pero esta es la migración más grande que existe. En realidad, es una supermanada formada por ñus, cebras y gacelas, y migran con un millón o más de un millón de bestias. Realizan un viaje de 1800 millas o 2900 kilómetros, y es un viaje de ida y vuelta desde Tanzania hasta Kenia y de regreso. Y mientras hacen esto, con la escala masiva que tienen, en realidad juegan un papel en la formación o ajuste del paisaje. Así de grande es esto. Y tienen que atravesar ríos infestados de cocodrilos. Tienen que superar sequías. Son presa de leones, y lo que realmente están haciendo es criar crías mientras migran. Si observamos la analogía, en realidad están implementando cosas en producción mientras migran. Creo que esto es realmente interesante e impresionante.

Luego tenemos a los caribúes o renos, como quieras llamarlos, y tienen la ruta de migración más larga que tenemos en tierra. Cubren hasta 3100 millas o 5000 kilómetros cada año y se mueven desde sus áreas de apareamiento hasta sus áreas de cría en primavera. Y luego regresan a sus áreas de invernada durante el otoño en un patrón circular. Por lo tanto, el momento y la distancia de esas migraciones pueden variar según ciertos factores como el clima, la disponibilidad de alimentos y agua, y el riesgo de depredadores. Esta es la migración más larga.

Y luego tenemos, esto es una colaboración máxima, tenemos las hormigas de fuego en los bosques de Brasil, en las selvas tropicales, y pueden formar grupos de más de 100,000 hormigas que se aferran entre sí y lo hacen para atravesar el agua. Y esto es una forma interesante de moverse, ¿verdad? Son expertas en colaborar y las hormigas en la parte inferior de este grupo deben aferrarse con todas sus fuerzas para evitar ser sumergidas, mientras que las que están en la parte superior corren el riesgo de ser comidas por aves y otros depredadores. Y luego está la última pieza del rompecabezas. Este es el esquivo grupo de desarrolladores y típicamente se mueven en equipos de varios tamaños y tienen que lidiar con otros peligros como el traslado de requisitos, implementaciones los viernes e infestaciones de errores, y caídas del sistema. Por lo que investigaremos patterns para optimizar la migración patterns y veremos si podemos aprender algo de la naturaleza. Comencemos con una definición. Entonces, ¿qué queremos decir con migración? Y para esta charla, consideremos esto. Es un período porque no sucede instantáneamente, lleva tiempo y esfuerzo de movimiento. Bueno,

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

Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
React Advanced 2021React Advanced 2021
47 min
Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
Top Content
The Talk discusses the balance between flexibility and consistency in design systems. It explores the API design of the ActionList component and the customization options it offers. The use of component-based APIs and composability is emphasized for flexibility and customization. The Talk also touches on the ActionMenu component and the concept of building for people. The Q&A session covers topics such as component inclusion in design systems, API complexity, and the decision between creating a custom design system or using a component library.
Vue: Actualizaciones de Características
Vue.js London 2023Vue.js London 2023
44 min
Vue: Actualizaciones de Características
Top Content
The Talk discusses the recent feature updates in Vue 3.3, focusing on script setup and TypeScript support. It covers improvements in defining props using imported types and complex types support. The introduction of generic components and reworked signatures for defined components provides more flexibility and better type support. Other features include automatic inference of runtime props, improved define emits and defined slots, and experimental features like reactive props destructure and define model. The Talk also mentions future plans for Vue, including stabilizing suspense and enhancing computer invalidations.
Hacia una Biblioteca Estándar para Runtimes de JavaScript
Node Congress 2022Node Congress 2022
34 min
Hacia una Biblioteca Estándar para Runtimes de JavaScript
Top Content
There is a need for a standard library of APIs for JavaScript runtimes, as there are currently multiple ways to perform fundamental tasks like base64 encoding. JavaScript runtimes have historically lacked a standard library, causing friction and difficulty for developers. The idea of a small core has both benefits and drawbacks, with some runtimes abusing it to limit innovation. There is a misalignment between Node and web browsers in terms of functionality and API standards. The proposal is to involve browser developers in conversations about API standardization and to create a common standard library for JavaScript runtimes.
Futuro de los Frameworks Frontend Charla Informal
React Summit 2024React Summit 2024
28 min
Futuro de los Frameworks Frontend Charla Informal
Fred K. Schott
Minko Gechev
Ryan Carniato
Daniel Afonso
Aakansha Doshi
Tim Neutkens
6 authors
Signals are being adopted by popular frameworks, enabling code reuse and improved tooling. While merging between frameworks is unlikely, they are learning from each other and adopting shared practices. It is important to embrace the diversity of frameworks and libraries. Instead of merging, focus on standardizing the principles behind frameworks. Consider tradeoffs and benefits when choosing a framework, and explore different technologies to learn new ideas.
Composición vs Configuración: Cómo Construir Componentes Flexibles, Resilientes y a Prueba de Futuro
React Summit 2022React Summit 2022
17 min
Composición vs Configuración: Cómo Construir Componentes Flexibles, Resilientes y a Prueba de Futuro
Top Content
Today's Talk discusses building flexible, resilient, and future-proof React components using composition and configuration approaches. The composition approach allows for flexibility without excessive conditional logic by using multiple components and passing props. The context API can be used for variant styling, allowing for appropriate styling and class specification. Adding variants and icons is made easy by consuming the variant context. The composition and configuration approaches can be combined for the best of both worlds.
Construyendo Bibliotecas de Componentes Multiplataforma para Web y Nativo con React
React Advanced 2021React Advanced 2021
21 min
Construyendo Bibliotecas de Componentes Multiplataforma para Web y Nativo con React
Top Content
This Talk discusses building cross-platform component libraries for React and React Native, based on a successful project with a large government-owned news organization. It covers the requirements for React Native knowledge, building cross-platform components, platform-specific components, styling, and the tools used. The Talk also highlights the challenges of implementing responsive design in React Native.

Workshops on related topic

Construye un Tablero Rico en Datos y Hermoso con la Rejilla de Datos de MUI X y Joy UI
React Summit 2023React Summit 2023
137 min
Construye un Tablero Rico en Datos y Hermoso con la Rejilla de Datos de MUI X y Joy UI
Top Content
WorkshopFree
Sam Sycamore
Siriwat (Jun) Kunaporn
2 authors
Aprende cómo utilizar el ecosistema completo de MUI para construir un tablero de gestión de proyectos hermoso y sofisticado en una fracción del tiempo que tomaría construirlo desde cero. En particular, veremos cómo integrar la Rejilla de Datos de MUI X con Joy UI, nuestra biblioteca de componentes más nueva y hermana del estándar de la industria Material UI.
Tabla de contenidos:- Presentando nuestro proyecto y herramientas- Configuración de la aplicación e instalación del paquete- Construcción del tablero- Prototipado, estilos y temas - Características de Joy UI- Filtrado, ordenación, edición - Características de la Rejilla de Datos- Conclusión, pensamientos finales, P&R
Seguimiento de errores y ralentizaciones en Node + JavaScript utilizando Sentry
Node Congress 2022Node Congress 2022
53 min
Seguimiento de errores y ralentizaciones en Node + JavaScript utilizando Sentry
WorkshopFree
Neil Manvar
Neil Manvar
Repasaremos la configuración de Sentry paso a paso para obtener visibilidad en nuestro frontend y backend. Una vez integrado, rastrearemos y solucionaremos errores y transacciones que se muestren en Sentry desde nuestros servicios para comprender por qué/dónde/cómo ocurrieron errores y ralentizaciones en nuestro código de aplicación.
Aprende a utilizar Composables: La navaja suiza de los desarrolladores de Vue
Vue.js Live 2024Vue.js Live 2024
163 min
Aprende a utilizar Composables: La navaja suiza de los desarrolladores de Vue
Workshop
Juan Andrés Núñez Charro
Juan Andrés Núñez Charro
Los Composables (funciones de composición) son funciones con estado/sin estado que pueden aprovechar la API de reactividad de Vue, desacoplándola de los componentes.Este cambio de perspectiva abre la posibilidad de abordar escenarios comunes de una manera nueva y creativa. En este masterclass, aprenderás cómo resolver problemas típicos que enfrenta cada desarrollador de Vue, utilizando composables:
- Almacenamiento de datos;- Comunicación entre componentes;- Funciones de utilidad (DOM, API, etc);Y más.