SlideShare una empresa de Scribd logo
1 de 18
Micro Frontends: rompiendo el
monolito en las aplicaciones Web
Nuestras
locaciones
Nuestros
Panelistas
Gian Carlo Vegas
Senior Frontend Engineer
Tracy Leveau
Marketing Analyst
Agenda
• Monolitos y microservicios.
• ¿Y qué pasó con el frontend?
• Nace un patrón.
• ¿Qué es micro frontends?
• Beneficios.
• Técnicas para implementar micro Frontends.
• Mi experiencia con micro Frontends.
• Conclusiones y recomendaciones.
¿QUESTIONS?
#FrontendsBelatrix
Monolitos y Microservicios
• Estilo arquitectónico.
• Despliegue simplificado.
• Acotado por el negocio.
• Adopción de tecnología nueva.
• Escalable.
• Equipos multidisciplinarios.
• Equipos dedicados.
¿QUESTIONS?
#FrontendsBelatrix
Monolito
Microservicios
¿QUESTIONS?
#FrontendsBelatrix
¿Y qué pasó con el frontend?
N - Tier MVC Service Oriented- - -
¿QUESTIONS?
#FrontendsBelatrix
Nace un patrón
November 2016
ThoughtWorks® agrega Micro
Frontends en su radar de
tecnología por primera vez
El término Micro Frontends
empieza a gana relevancia en
las búsquedas en Google
-
¿QUESTIONS?
#FrontendsBelatrix
¿Qué es Micro Frontends?
Web app como una
composición de
funcionalidades
Equipos con una misión de
negocio
Desarrolladas por equipos
independientes
Equipos realmente
multifuncionales,
empoderados de
punto a punto
¿QUESTIONS?
#FrontendsBelatrix
Características
• Mayor mantenibilidad.
• Fácil de probar.
• Mayor tolerancia a fallos.
• Menor tiempo de carga.
• Mayor apropiación del equipo.
• Despliegues independientes.
• Promueve la experimentación.
• Organizado alrededor de
capacidades de negocio.
• Tecnologías heterogéneas.
Técnicas
para implementar
Micro Frontends
• Multiples SPAs en diferentes URLs.
• IFrames y postMessage API.
• Single-SPA “meta framework”.
• Web components.
¿QUESTIONS?
#FrontendsBelatrix
Multiples SPAs en diferentes URLs
Micrositios independientes
viviendo en diferentes
URLs Simple de implementar
incluso en proyectos ya
iniciados
Requiere de módulos
externos para compartir
funcionalidad Requiere de
coordinación respecto
a los estándares a
usar
¿QUESTIONS?
#FrontendsBelatrix
IFrames y postMessage API
Cada componente de la
página vive en un iframe
El trabajo con iframes puede
ser complicado
La comunicación se hace a
través del API de
postMessage
¿QUESTIONS?
#FrontendsBelatrix
Single-SPA “meta framework”
Múltiples frameworks
trabajando en la misma
página
Usa un constructor global
para transpilar, minificar y
combinar las web apps
Un solo repositorio con
proyectos para cada web
app
Fácil de aplicar con
librerías creadas para
este fin
¿QUESTIONS?
#FrontendsBelatrix
Web Components
Cada parte es definida y
consumida como un Web
Component
La comunicación es por
medio de eventos o un event
bus
Requiere trabajo extra para
el manejo de rutas
Web Components no
tienen soporte nativo
en todos los
navegadores
Mi experiencia
¿Micro Frontends es para ti?
• ¿Tienes muchos equipos o uno
muy grande?
• ¿Tienes experiencia en DevOps?
• ¿Al negocio le interesa colaborar?
• ¿Tu aplicación tiene
funcionalidades independientes?
• ¿Tu aplicación es tan grande que
es difícil de mantener?
¿QUESTIONS?
#FrontendsBelatrix
Preguntas
¡Muchas Gracias!
www.belatrixsf.com

Más contenido relacionado

La actualidad más candente

Micro-frontends – is it a new normal?
Micro-frontends – is it a new normal?Micro-frontends – is it a new normal?
Micro-frontends – is it a new normal?
Lohika_Odessa_TechTalks
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
Simplilearn
 

La actualidad más candente (20)

Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
 
Micro-frontend
Micro-frontendMicro-frontend
Micro-frontend
 
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJSMicro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
 
Node Architecture and Getting Started with Express
Node Architecture and Getting Started with ExpressNode Architecture and Getting Started with Express
Node Architecture and Getting Started with Express
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Domain driven desing
Domain driven desingDomain driven desing
Domain driven desing
 
Micro-frontends – is it a new normal?
Micro-frontends – is it a new normal?Micro-frontends – is it a new normal?
Micro-frontends – is it a new normal?
 
Front end microservices: architectures and solution
Front end microservices: architectures and solutionFront end microservices: architectures and solution
Front end microservices: architectures and solution
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Springboot Overview
Springboot  OverviewSpringboot  Overview
Springboot Overview
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
 
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - Introduction
 
State of Micro Frontend
State of Micro FrontendState of Micro Frontend
State of Micro Frontend
 
DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0
 
Introducing Clean Architecture
Introducing Clean ArchitectureIntroducing Clean Architecture
Introducing Clean Architecture
 
Low code vs. No code: Which is better for web and app development?
Low code vs. No code: Which is better for web and app development?Low code vs. No code: Which is better for web and app development?
Low code vs. No code: Which is better for web and app development?
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 

Similar a Micro Frontends: Rompiendo el monolito en las aplicaciones Web

Mvc + html5 + css3
Mvc + html5 + css3Mvc + html5 + css3
Mvc + html5 + css3
Marc Rubiño
 
AFE - 01 - Introduccion a Frameworks.pptx
AFE - 01 - Introduccion a Frameworks.pptxAFE - 01 - Introduccion a Frameworks.pptx
AFE - 01 - Introduccion a Frameworks.pptx
CesiaReyes4
 

Similar a Micro Frontends: Rompiendo el monolito en las aplicaciones Web (20)

Aplicaciones más manejables
Aplicaciones más manejablesAplicaciones más manejables
Aplicaciones más manejables
 
Principios de Diseño de Componentes Web
Principios de Diseño de Componentes WebPrincipios de Diseño de Componentes Web
Principios de Diseño de Componentes Web
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web moderno
 
Desarrolla Add-Ins de Office 365 con Angular 2
Desarrolla Add-Ins de Office 365 con Angular 2Desarrolla Add-Ins de Office 365 con Angular 2
Desarrolla Add-Ins de Office 365 con Angular 2
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
 
Timerepublik
TimerepublikTimerepublik
Timerepublik
 
Instalacion adobe dream weaver
Instalacion adobe dream weaverInstalacion adobe dream weaver
Instalacion adobe dream weaver
 
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nubeMsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
 
Mvc + html5 + css3
Mvc + html5 + css3Mvc + html5 + css3
Mvc + html5 + css3
 
Liferay Symposium 2014 - Business case: RACE
Liferay Symposium 2014 - Business case: RACE Liferay Symposium 2014 - Business case: RACE
Liferay Symposium 2014 - Business case: RACE
 
t3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por quet3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por que
 
Aspnet MVC 4 y Mobile Sites
Aspnet MVC 4 y Mobile SitesAspnet MVC 4 y Mobile Sites
Aspnet MVC 4 y Mobile Sites
 
Patrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración ModernaPatrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración Moderna
 
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
 
Fase 1 formulacion y planeación i web
Fase 1 formulacion y planeación i webFase 1 formulacion y planeación i web
Fase 1 formulacion y planeación i web
 
AFE - 01 - Introduccion a Frameworks.pptx
AFE - 01 - Introduccion a Frameworks.pptxAFE - 01 - Introduccion a Frameworks.pptx
AFE - 01 - Introduccion a Frameworks.pptx
 
Introducción a SharePoint Framework
Introducción a SharePoint FrameworkIntroducción a SharePoint Framework
Introducción a SharePoint Framework
 
Tema 6
Tema 6Tema 6
Tema 6
 
Microservicios con Net Core y Azure Service Fabric
Microservicios con Net Core y Azure Service FabricMicroservicios con Net Core y Azure Service Fabric
Microservicios con Net Core y Azure Service Fabric
 
Salesforce Lightning Components
Salesforce Lightning ComponentsSalesforce Lightning Components
Salesforce Lightning Components
 

Más de Belatrix Software

Más de Belatrix Software (20)

Top 10 riesgos de las aplicaciones móviles
Top 10 riesgos de las aplicaciones móvilesTop 10 riesgos de las aplicaciones móviles
Top 10 riesgos de las aplicaciones móviles
 
Pruebas continuas con cypress en la era DevOps
Pruebas continuas con cypress en la era DevOpsPruebas continuas con cypress en la era DevOps
Pruebas continuas con cypress en la era DevOps
 
Navigating the new world ushered in overnight by COVID-19
Navigating the new world ushered in overnight by COVID-19Navigating the new world ushered in overnight by COVID-19
Navigating the new world ushered in overnight by COVID-19
 
Multitenancy con múltiples Bases de Datos
Multitenancy con múltiples Bases de DatosMultitenancy con múltiples Bases de Datos
Multitenancy con múltiples Bases de Datos
 
Desarrollando AWS Alexa Skills con Java
Desarrollando AWS Alexa Skills con JavaDesarrollando AWS Alexa Skills con Java
Desarrollando AWS Alexa Skills con Java
 
Creando Animaciones en React Native
Creando Animaciones en React NativeCreando Animaciones en React Native
Creando Animaciones en React Native
 
Microservicios con spring
Microservicios con springMicroservicios con spring
Microservicios con spring
 
RPA: Sistemas de información para optimizar procesos de negocios
RPA: Sistemas de información para optimizar procesos de negociosRPA: Sistemas de información para optimizar procesos de negocios
RPA: Sistemas de información para optimizar procesos de negocios
 
Estrategias para alcanzar la Transformación Digital
Estrategias para alcanzar la Transformación DigitalEstrategias para alcanzar la Transformación Digital
Estrategias para alcanzar la Transformación Digital
 
Testing de Aplicaciones Móviles, Públicas, Masivas y Críticas
Testing de Aplicaciones Móviles, Públicas, Masivas y CríticasTesting de Aplicaciones Móviles, Públicas, Masivas y Críticas
Testing de Aplicaciones Móviles, Públicas, Masivas y Críticas
 
Api NodeJS con PureScript
Api NodeJS con PureScriptApi NodeJS con PureScript
Api NodeJS con PureScript
 
Machine Learning vs. Deep Learning
Machine Learning vs. Deep LearningMachine Learning vs. Deep Learning
Machine Learning vs. Deep Learning
 
Metodologías de CSS
Metodologías de CSSMetodologías de CSS
Metodologías de CSS
 
Los retos de un tester ágil
Los retos de un tester ágilLos retos de un tester ágil
Los retos de un tester ágil
 
IoT + voice assistants = posibilidades infinitas
IoT + voice assistants = posibilidades infinitasIoT + voice assistants = posibilidades infinitas
IoT + voice assistants = posibilidades infinitas
 
Lleva tus aplicaciones móviles a otro nivel con Flutter
Lleva tus aplicaciones móviles a otro nivel con FlutterLleva tus aplicaciones móviles a otro nivel con Flutter
Lleva tus aplicaciones móviles a otro nivel con Flutter
 
Predictions 2019: Digital journeys are well on their way
Predictions 2019: Digital journeys are well on their way Predictions 2019: Digital journeys are well on their way
Predictions 2019: Digital journeys are well on their way
 
Integrando Test Driven Development en aplicaciones React
Integrando Test Driven Development en aplicaciones ReactIntegrando Test Driven Development en aplicaciones React
Integrando Test Driven Development en aplicaciones React
 
Drive business outcomes using Azure Devops
Drive business outcomes using Azure DevopsDrive business outcomes using Azure Devops
Drive business outcomes using Azure Devops
 
Mejora tus resultados de negocios con Azure DevOps
Mejora tus resultados de negocios con Azure DevOpsMejora tus resultados de negocios con Azure DevOps
Mejora tus resultados de negocios con Azure DevOps
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (12)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Micro Frontends: Rompiendo el monolito en las aplicaciones Web

Notas del editor

  1. At the beging we had monoliths which is an approach in were we put everything together.. presentation, business logic, data access and so on.. everything is happening in that big solution. We use different kind of architectures to support this, like N-Tier or the begging of MVC, then we realice that we can split the monolith in services, and the Service Oriente Architecture came up, , as a natural evolution of service oriented architecture, the mmicroservices were born, and that gave us a lot of adventages but also a lot new challanges. Sincronization, distributed transaction, distrubited data storage, handling asyncrony, handly independant deploys and so on. HEre are some characteristics of micricroservices that we should keep in mind. Micro services is an Architectural style. The services are organized arround business capabilities (not packages or funcionalities). Each service has an independant deploy. The services are loosely capled and they are highly maintainable and testable
  2. But here is someting missing here, we have been talking about the backend, starting from Sservice Oriente Architecure, all the effort moves to simplify the work arround the "hard logic", to simplify the work on the backend. But What about the front end? The backend evolve in time, which is normal from monolith to services to microservices and along with these a whole ecosystem grows, mean while in the frontend, we live worriend creating new libraries and frameworks, improving javascript with new features, developing pre and pos-compilers for css, new ways to concat and package the code and so on. Everythin for the famous SPAs ecosystem and all that stuff are great if you are not thinking in "enterprice” applications, because handling one big codebase for a huge application could be verry complicated. Some solutions came up for handling larges amount of code, for example, lazy loading, but none of there were standar or universal. We forgot to see the that in the other side, on the backend, there are prooved strategies for the problems that we are facing. At the end what happend is that we move the pain from the backend to the front end.
  3. In some point we realyce that we should do something about the frontend monolith. The frontend people started to worriend about architecture. We realice that if we continue growing up our code base at some point it will become unamaintanable, so many people in diferent place star working in solutions. Arround the end of 2016, the people from thoughtworks, have been colected enogugh data to include a new approach that is been used on the frontend side. They call it microfrontends. Almos at the same time the term started to be relevant in google searches. Today, Micro Frontend is clasified as a Trial trend in the thoughtworks radas, which means is moment to try it, gain some experience and decide if its a good idea to apply it in a big scale.
  4. Ok, so what are microfrontends, The idea behind Micro Frontends is to think about a website or web app as a composition of features which are owned by independent teams. Each team has a distinct area of business or mission it cares about and specialises in. A team is cross functional and develops its features end-to-end, from database to user interface, we can merge the microfrontends approach with micricroservices to have teams capable to unnswere be therir selfs a business capability or a business need. In this slice we can see a simple example of how microfrontends site could look like. There are to shared areas, the navation an the footer, also we have a banner at the top which is handled by the gold team, a Product information section that could be the main objetive of this page which is handled by the orange team and a Suggested products which is handled but the purple team. Each team wories about one funcionality, about one business capability an the everything is put together in one pages, there are some techniques to stick everything and i will about them.