SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Single-SPA: Como este framework pode me
ajudar na construção de Micro Front-Ends
Daiana Cambruzzi Ávila
Front-End Software Engineer at Zenvia
@daicambruzzi
2
alert(‘Spoilers’)
▷ Micro Front-Ends;
▷ Single-SPA;
▷ Code;
Mas primeiro, o que é Micro
Front-End?
“
An architectural style where independently deliverable
frontend applications are composed into a greater
whole (JACKSON, Cam)
https://martinfowler.com/articles/micro-frontends.html
“
Benefícios de Micro Front-Ends
▷ Aplicações independentes e reutilizáveis;
▷ Deploys separados;
▷ Times com liberdade para a escolha da stack tecnológica;
▷ Evolução dos sistemas legados;
Vue
Vue
React
MAS COMO VOU CONSTRUIR UMA
APLICAÇÃO COM ESSE CONCEITO?
SOMENTE SE FOR NECESSÁRIO EIN!
SINGLE-SPA
A javascript router for front-end microservices
Single-SPA
Single-SPA (o nome é pra ser redundante mesmo ) é um
framework JavaScript que ajuda os desenvolvedores ao simplificar a
composição de vários aplicativos front-end em um único produto.
Single-SPA
▷ “Liberdade” de framework/lib front-end;
▷ Segue premissas do micro front-end como: deploys
independentes;
▷ Uso do Lazy load para o carregamento das aplicações;
▷ Funciona com o Chrome, Firefox, Safari, Edge, and IE11
(com polyfills);
Ecossistema Single-SPA
▷ single-spa-react;
▷ single-spa-vue;
▷ single-spa-angular;
▷ single-spa-angularjs;
▷ single-spa-ember;
▷ single-spa-preact;
▷ single-spa-svelte;
▷ single-spa-backbone...
“
Single-SPA tem sido o framework de escolha para
integração de micro frontends para nossos times
(THOUGHTWORKS, 10/2020)
https://www.thoughtworks.com/pt/radar/languages-and-frameworks/single-spa
Quem está usando?
https://single-spa.js.org/
COMO VAMOS IMPLEMENTAR O USO
DESSE FRAMEWORK?
Arquitetura
MFE Page 1 - Vue
(SINGLE-SPA Application)
MFE Nav Bar React
(SINGLE-SPA Application)
SINGLE-SPA Configuration
Single-SPA Configuration
Aplicação responsável pelo registro e gerenciamento das
aplicações micro front-end;
Ciclo de vida: Single-SPA Applications
Ciclos de Vida
▷ Bootstrap: Executado unicamente antes do aplicativo registrado ser
montado pela primeira vez;
▷ Mount: Ciclo de vida que cria os elementos DOM, ouvintes de eventos
DOM, etc. para renderizar o conteúdo para o usuário;
Ciclos de Vida
▷ Unmount: limpa todos os elementos DOM, memória perdida,
observables, etc. que foram criados em qualquer ponto quando o
aplicativo registrado foi montado;
▷ Unload: Só será executado quando for chamado a API
unloadApplication.
○ Útil em cenários quando você deseja reinicializar os aplicativos, mas
realizar alguma lógica antes que os aplicativos sejam reiniciados;
Show me the code!
https://github.com/daicambruzzi/talk-single-spa
Migrar para Single-SPA
▷ Crie uma única configuração de SPA;
▷ Converta seus SPA em aplicativos registrados;
Como compartilhar dados entre as
aplicações?
▷ DOM EventListener;
▷ Local Storage;
▷ Cookies...
Thanks!
Any questions?
@daicambruzzi
daiana.avila@gmail.com

Mais conteúdo relacionado

Mais procurados

Profissao java gwt e javafx
Profissao java gwt e javafxProfissao java gwt e javafx
Profissao java gwt e javafxEder Magalhães
 
Trabalho Framework Web mobile puc
Trabalho Framework Web mobile pucTrabalho Framework Web mobile puc
Trabalho Framework Web mobile pucMateus Ramos
 
Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007Handerson Frota
 
Micronaut - modernizando a plataforma Java
Micronaut - modernizando a plataforma JavaMicronaut - modernizando a plataforma Java
Micronaut - modernizando a plataforma JavaHenrique Weissmann
 
O novo ASP.NET - GDG-SP - Outubro/2016
O novo ASP.NET - GDG-SP - Outubro/2016O novo ASP.NET - GDG-SP - Outubro/2016
O novo ASP.NET - GDG-SP - Outubro/2016Renato Groff
 
Jitsi Meet - Criando seu ambiente de videoconferência corporativa
Jitsi Meet - Criando seu ambiente de videoconferência corporativaJitsi Meet - Criando seu ambiente de videoconferência corporativa
Jitsi Meet - Criando seu ambiente de videoconferência corporativaSaveincloud
 
MAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidadesMAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidadesThiago Bertuzzi
 
OpenAM - Fast SSO
OpenAM - Fast SSOOpenAM - Fast SSO
OpenAM - Fast SSOYros
 
O novo ASP.NET - Campinas .NET - Março/2017
O novo ASP.NET - Campinas .NET - Março/2017O novo ASP.NET - Campinas .NET - Março/2017
O novo ASP.NET - Campinas .NET - Março/2017Renato Groff
 
O novo ASP.NET - Junho/2016
O novo ASP.NET - Junho/2016O novo ASP.NET - Junho/2016
O novo ASP.NET - Junho/2016Renato Groff
 
O novo ASP.NET - dotnetConf.Local 2016 - Santos-SP
O novo ASP.NET - dotnetConf.Local 2016 - Santos-SPO novo ASP.NET - dotnetConf.Local 2016 - Santos-SP
O novo ASP.NET - dotnetConf.Local 2016 - Santos-SPRenato Groff
 
O novo ASP.NET - PUC Developers Day - 2016
O novo ASP.NET - PUC Developers Day - 2016O novo ASP.NET - PUC Developers Day - 2016
O novo ASP.NET - PUC Developers Day - 2016Renato Groff
 
Criando Seu Primeiro App com Xamarin.Forms
Criando Seu Primeiro App com Xamarin.FormsCriando Seu Primeiro App com Xamarin.Forms
Criando Seu Primeiro App com Xamarin.FormsThiago Bertuzzi
 
Xamarin + Prism: implementando boas práticas
Xamarin + Prism: implementando boas práticasXamarin + Prism: implementando boas práticas
Xamarin + Prism: implementando boas práticasThiago Bertuzzi
 
Desenvolvendo chrome extensions
Desenvolvendo chrome extensionsDesenvolvendo chrome extensions
Desenvolvendo chrome extensionsRodolfo Dias
 
Owncloud | configurando um servidor de arquivos na nuvem
Owncloud |  configurando um servidor de arquivos na nuvemOwncloud |  configurando um servidor de arquivos na nuvem
Owncloud | configurando um servidor de arquivos na nuvemSaveincloud
 

Mais procurados (20)

Profissao java gwt e javafx
Profissao java gwt e javafxProfissao java gwt e javafx
Profissao java gwt e javafx
 
Trabalho Framework Web mobile puc
Trabalho Framework Web mobile pucTrabalho Framework Web mobile puc
Trabalho Framework Web mobile puc
 
Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007
 
Micronaut - modernizando a plataforma Java
Micronaut - modernizando a plataforma JavaMicronaut - modernizando a plataforma Java
Micronaut - modernizando a plataforma Java
 
O novo ASP.NET - GDG-SP - Outubro/2016
O novo ASP.NET - GDG-SP - Outubro/2016O novo ASP.NET - GDG-SP - Outubro/2016
O novo ASP.NET - GDG-SP - Outubro/2016
 
Dwrsecomp
DwrsecompDwrsecomp
Dwrsecomp
 
Loop back
Loop backLoop back
Loop back
 
W2py pyconpe
W2py pyconpeW2py pyconpe
W2py pyconpe
 
Jitsi Meet - Criando seu ambiente de videoconferência corporativa
Jitsi Meet - Criando seu ambiente de videoconferência corporativaJitsi Meet - Criando seu ambiente de videoconferência corporativa
Jitsi Meet - Criando seu ambiente de videoconferência corporativa
 
MAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidadesMAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidades
 
Webpack
Webpack Webpack
Webpack
 
OpenAM - Fast SSO
OpenAM - Fast SSOOpenAM - Fast SSO
OpenAM - Fast SSO
 
O novo ASP.NET - Campinas .NET - Março/2017
O novo ASP.NET - Campinas .NET - Março/2017O novo ASP.NET - Campinas .NET - Março/2017
O novo ASP.NET - Campinas .NET - Março/2017
 
O novo ASP.NET - Junho/2016
O novo ASP.NET - Junho/2016O novo ASP.NET - Junho/2016
O novo ASP.NET - Junho/2016
 
O novo ASP.NET - dotnetConf.Local 2016 - Santos-SP
O novo ASP.NET - dotnetConf.Local 2016 - Santos-SPO novo ASP.NET - dotnetConf.Local 2016 - Santos-SP
O novo ASP.NET - dotnetConf.Local 2016 - Santos-SP
 
O novo ASP.NET - PUC Developers Day - 2016
O novo ASP.NET - PUC Developers Day - 2016O novo ASP.NET - PUC Developers Day - 2016
O novo ASP.NET - PUC Developers Day - 2016
 
Criando Seu Primeiro App com Xamarin.Forms
Criando Seu Primeiro App com Xamarin.FormsCriando Seu Primeiro App com Xamarin.Forms
Criando Seu Primeiro App com Xamarin.Forms
 
Xamarin + Prism: implementando boas práticas
Xamarin + Prism: implementando boas práticasXamarin + Prism: implementando boas práticas
Xamarin + Prism: implementando boas práticas
 
Desenvolvendo chrome extensions
Desenvolvendo chrome extensionsDesenvolvendo chrome extensions
Desenvolvendo chrome extensions
 
Owncloud | configurando um servidor de arquivos na nuvem
Owncloud |  configurando um servidor de arquivos na nuvemOwncloud |  configurando um servidor de arquivos na nuvem
Owncloud | configurando um servidor de arquivos na nuvem
 

Semelhante a Single-SPA: Como este framework pode me ajudar na construção de Micro Front-Ends

Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não WindowsPalestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não WindowsAlessandro Binhara
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindJaydson Gomes
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de MicroservicosNorberto Enomoto
 
Webinar: Desvendando o Yocto Project
Webinar: Desvendando o Yocto ProjectWebinar: Desvendando o Yocto Project
Webinar: Desvendando o Yocto ProjectEmbarcados
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHPFlávio Lisboa
 
Apresentação do V Workshop Demoiselle
Apresentação do V Workshop DemoiselleApresentação do V Workshop Demoiselle
Apresentação do V Workshop DemoiselleEmerson Saito
 
TDC2016SP - Flask para Web
TDC2016SP - Flask para WebTDC2016SP - Flask para Web
TDC2016SP - Flask para Webtdc-globalcode
 
Software livre - Parte 3
Software livre - Parte 3Software livre - Parte 3
Software livre - Parte 3Fabrício Basto
 
Conheça o Cloud Foundry no HCP
Conheça o Cloud Foundry no HCPConheça o Cloud Foundry no HCP
Conheça o Cloud Foundry no HCPJose Nunes
 
Apresentação realidade aumentada para aplicações web e mobile
Apresentação   realidade aumentada para aplicações web e mobileApresentação   realidade aumentada para aplicações web e mobile
Apresentação realidade aumentada para aplicações web e mobileRWTH Aachen University
 
O Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não WindowsO Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não WindowsAlessandro Binhara
 
Quasar Framework - Front end de alto desempenho
Quasar Framework - Front end de alto desempenhoQuasar Framework - Front end de alto desempenho
Quasar Framework - Front end de alto desempenhoPatrick Monteiro
 
Apresentação da Spin no SIMPASE 2013
Apresentação da Spin no SIMPASE 2013Apresentação da Spin no SIMPASE 2013
Apresentação da Spin no SIMPASE 2013SpinEngenharia
 
Projeto MonoBrasil: O retorno no Jedi
Projeto MonoBrasil: O retorno no JediProjeto MonoBrasil: O retorno no Jedi
Projeto MonoBrasil: O retorno no JediAlessandro Binhara
 
Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.
Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.
Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.Cristofer Sousa
 

Semelhante a Single-SPA: Como este framework pode me ajudar na construção de Micro Front-Ends (20)

Micro frontend
Micro frontendMicro frontend
Micro frontend
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Int305 projeto mono-final
Int305 projeto mono-finalInt305 projeto mono-final
Int305 projeto mono-final
 
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não WindowsPalestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de Microservicos
 
Webinar: Desvendando o Yocto Project
Webinar: Desvendando o Yocto ProjectWebinar: Desvendando o Yocto Project
Webinar: Desvendando o Yocto Project
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 
O projeto Mono
O projeto MonoO projeto Mono
O projeto Mono
 
Apresentação do V Workshop Demoiselle
Apresentação do V Workshop DemoiselleApresentação do V Workshop Demoiselle
Apresentação do V Workshop Demoiselle
 
TDC2016SP - Flask para Web
TDC2016SP - Flask para WebTDC2016SP - Flask para Web
TDC2016SP - Flask para Web
 
Software livre - Parte 3
Software livre - Parte 3Software livre - Parte 3
Software livre - Parte 3
 
Conheça o Cloud Foundry no HCP
Conheça o Cloud Foundry no HCPConheça o Cloud Foundry no HCP
Conheça o Cloud Foundry no HCP
 
Apresentação realidade aumentada para aplicações web e mobile
Apresentação   realidade aumentada para aplicações web e mobileApresentação   realidade aumentada para aplicações web e mobile
Apresentação realidade aumentada para aplicações web e mobile
 
O Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não WindowsO Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não Windows
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
Quasar Framework - Front end de alto desempenho
Quasar Framework - Front end de alto desempenhoQuasar Framework - Front end de alto desempenho
Quasar Framework - Front end de alto desempenho
 
Apresentação da Spin no SIMPASE 2013
Apresentação da Spin no SIMPASE 2013Apresentação da Spin no SIMPASE 2013
Apresentação da Spin no SIMPASE 2013
 
Projeto MonoBrasil: O retorno no Jedi
Projeto MonoBrasil: O retorno no JediProjeto MonoBrasil: O retorno no Jedi
Projeto MonoBrasil: O retorno no Jedi
 
Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.
Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.
Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.
 

Single-SPA: Como este framework pode me ajudar na construção de Micro Front-Ends