Monorepositorios vs. Multirepositorios
Audiocurso de Frameworks y Arquitecturas Frontend: Casos de Estudio
Contenido del curso
Giuliano De Leonardis
Juan Sebastian Espínola
David Elias Gatica Morales
Axlin Miranda
Miguel Ángel Durán García
ProfesorFélix Alejandro Zelaya Orellana
Alberto Domingo Basabe Acurero
Julian David Alzate Cuervo
Juan Camilo Moreno
Jorge Arias Argüelles
Matias Ezequiel Rivero
Multirepositorios
En esta estrategia cada componente o parte de un proyecto con entidad propia se aloja en un repositorio diferente. Por ejemplo, si tenemos un proyecto que tiene un frontend y un backend, cada uno de ellos se alojaría en un repositorio diferente. Incluso, dentro del frontend podriamos separar en diferentes repositorios el design system (componentes visuales), el tema, etc. Ventajas
Desventajas
Monorepositorios
Son repositorios que contienen todo el código de una aplicación. Este repositorio tendría paquetes separados, y cada paquete tiene una entidad propia. El monorepositorio debe tener (como todo proyecto) una buena estructura de carpetas. Ventajas
Desventajas
Lo mejor en un monorepositorio es usar el mismo stack tecnológico, mismo lenguaje de programación, mismo framework, las mismas reglas de linter.
En el README del monorepo de Babel :joy_cat:
hahahah
Excelente clase, una consulta si hay un proyecto que la aplicación en el front esta desarrollada en React pero en el backend es con Express, en ese caso no se utilizaría solo multirepositorios?
Depende. Se podría formar también con un monorepositorio sin problemas. De hecho, en mi última empresa lo teníamos justamente así. Además, que sea un monorepo no significa que se tenga que desplegar junto (se pueden leer los commits semánticos para decidir el despliegue).
Que interesante! Tengo el mismo problema en mi trabajo, tenemos tantos repositorios que es muy fácil olvidarse de actualizar uno y ya nos crean bugs, sinceramente cambiar a un monorepositorio sería complicado pero lo mencionaré
Excelente clase una pregunta.
Que son los PR y los APR?
en laravel por ahora solo he trabajado con monorepositorios pero viendo esta clase creo que lo pensaría para futuros proyectos
Un monorepositorio es una estrategia de gestión de código donde múltiples proyectos o módulos se almacenan en un único repositorio. Esto permite un manejo más eficiente de las dependencias y la colaboración entre equipos, ya que todos los cambios se pueden implementar y probar en un solo lugar. Es común en entornos de desarrollo de microservicios y permite una mejor integración continua y despliegue. Comparado con múltiples repositorios, facilita la consistencia y la actualización de versiones de dependencias compartidas.
Un monorepositorio es una estrategia de gestión de código fuente donde múltiples proyectos o componentes de software se almacenan en un único repositorio. Esto permite una gestión más sencilla de dependencias, facilita la colaboración entre equipos y mejora la consistencia en la implementación de cambios. En el desarrollo frontend, los monorepos pueden ser especialmente útiles para compartir bibliotecas y recursos entre microfrontends, optimizando así el flujo de trabajo y la integración continua.
Ambos enfoques tienen mérito; la elección depende del contexto del proyecto y la organización. Para proyectos grandes con servicios aislados, multirepositorios suelen ser mejores. Si los proyectos están altamente relacionados, un monorepositorio puede simplificar el flujo de trabajo.