SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Os
desafiosno
Alexandre Saboia Fuziyama
Bacharel em Informática pela PUC-Rio
14 anos na globo.com
Full Stack Web Developer
11 anos trabalhando em equipes ágeis
@alexandresaboia
Breno Ferreira
Desenvolvedor Web no CartolaFC
11 anos de experiência com desenvolvimento
web, ágil, .NET, Python, JS, React, etc.
@breno_ferreira
Evolução
Angular+ React
Desafiosno frontend
Evolução
2005-2009
ARQUITETURA E TECNOLOGIA EM
admin
game
2005-2009
BD
atualização
2010-2015
ARQUITETURA E TECNOLOGIA EM
atualização
game
admin
api
arquitetura centrada no
game
apps
BD
2010-2015
game
api atu admin
24 Cores CPU
24 Cores CPU ...
multiprocesso
http://sebastianraschka.com/Articles/2014_multiprocessing_intro.html
https://docs.python.org/2.7/library/multiprocessing.html
cartolafc
multiprocesso na atualização
2015-2020
ARQUITETURA E TECNOLOGIA EM
multidevice
multidevice
atualização
game
admin
arquitetura centrada no
game
apps
BD
2010-2015
api
arquitetura centrada na API
atualização
admin
api
BD v2
2015-2020
game
apps
game
api atu
Stack resumida
I N F R AE S TRU TU RA
cloud
Galeb
Unit
Unit
Unit
VM
Unit
Unit
Unit
VM
Unit
Unit
Unit
Unit
V
M
máquinafísica
RPAAS
Angular+ React
game
game
50% 30% 20%
Desafiosno frontend
Coexistência de Angular e React
• ComponentesReact registradoscomo Web Components
• Chamaresses Web Componentsno Angular
State Management
Angular
Dados gerenciadospor Services e Controllers
React
Hooks e Redux
Problemas
Alguns pedaços do App State duplicados
• Status do mercado
• Info do Time
• Ligas do usuário
Bundles separados
Angular
• Gulp
• Código em ES5
• Sem compilação
React
• Webpack
• Typescript
Outros desafios
• Migração sem parar o desenvolvimentode
novas features. Ao contrário de outras migrações que houveram
reescrita total (ex: Python -> Golang)
• Alta rotatividade no time
• Pessoas com estilos e ideias diferentessem um code style guide e
processo de desenvolvimento claro (ex: code reviews)
• Definição não muito clara de componentizaçãocausando código e
componentes duplicados
Como lidamos com isso?
Airbnb Style Guide (com algumascustomizações)
Como lidamos com isso?
Code Reviews
Como lidamos com isso?
novas features
+
refatorações/melhorias
Como lidamos com isso?
Com as refatorações,adicionamos tipos estáticos com
Typescript
Desafios de performance
Respeitar os caches HTTP definidos pela API via
Cache-Control: Max-Age
Issoé feitoautomaticamentepeloFetchAPI ✅
Desafios de performance
Investigar compatibilidade e uso de
Cache-Control: stale-while-revalidate
https://web.dev/stale-while-revalidate/
Curto prazo
Desafios de performance
Offline-First com PWA
App State salvo no local-storage
Cache de assets local
Vai depender do PO 😆
Vem pra Globo
https://talentos.globo.com/#/oportunidades
Obrigado!
@alexandresaboia @breno_ferreira

Mais conteúdo relacionado

Mais procurados

Deployment no Azure
Deployment no AzureDeployment no Azure
Deployment no AzureRodrigo Kono
 
Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Rodrigo Kono
 
O maravilhoso mundo dos webhooks
O maravilhoso mundo dos webhooksO maravilhoso mundo dos webhooks
O maravilhoso mundo dos webhooksRodrigo Kono
 
Servidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaServidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaRodrigo Kono
 
Abertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET CoreAbertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET CoreRodrigo Kono
 
.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers
.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers
.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsersGustavo Bellini Bigardi
 
TypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascriptTypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascriptRodrigo Kono
 
A Evolução do Front end
A Evolução do Front endA Evolução do Front end
A Evolução do Front endDouglas Matoso
 
Canal Coding Night - Sua primeira aplicação com Blazor
Canal Coding Night - Sua primeira aplicação com BlazorCanal Coding Night - Sua primeira aplicação com Blazor
Canal Coding Night - Sua primeira aplicação com BlazorGustavo Bellini Bigardi
 
9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometemFernando Henriques
 
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalRDesenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalRRodrigo Kono
 
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...Renato Groff
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Coretdc-globalcode
 
ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016Renato Groff
 
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Renato Groff
 
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017Renato Groff
 
Quercus - Running PHP over Java
Quercus - Running PHP over Java Quercus - Running PHP over Java
Quercus - Running PHP over Java Jeff Prestes
 

Mais procurados (20)

Deployment no Azure
Deployment no AzureDeployment no Azure
Deployment no Azure
 
Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1
 
O maravilhoso mundo dos webhooks
O maravilhoso mundo dos webhooksO maravilhoso mundo dos webhooks
O maravilhoso mundo dos webhooks
 
Servidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaServidor de Build e Integração Contínua
Servidor de Build e Integração Contínua
 
Abertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET CoreAbertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET Core
 
.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers
.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers
.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers
 
TypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascriptTypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascript
 
A Evolução do Front end
A Evolução do Front endA Evolução do Front end
A Evolução do Front end
 
Canal Coding Night - Sua primeira aplicação com Blazor
Canal Coding Night - Sua primeira aplicação com BlazorCanal Coding Night - Sua primeira aplicação com Blazor
Canal Coding Night - Sua primeira aplicação com Blazor
 
9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem
 
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalRDesenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
 
Blazor #SnetTalks3
Blazor  #SnetTalks3Blazor  #SnetTalks3
Blazor #SnetTalks3
 
Bricklayer
BricklayerBricklayer
Bricklayer
 
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
 
SignalR Visual Studio Summit
SignalR Visual Studio SummitSignalR Visual Studio Summit
SignalR Visual Studio Summit
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
 
ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016
 
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
 
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
 
Quercus - Running PHP over Java
Quercus - Running PHP over Java Quercus - Running PHP over Java
Quercus - Running PHP over Java
 

Semelhante a Desafios evolução frontend Angular React

Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Rodrigo Kono
 
Desenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroidDesenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroidBruno Pires
 
Desenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroidDesenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroidComunidade NetPonto
 
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding DayMinicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding DayRenato Groff
 
Desenvolvimento web com python e web2py
Desenvolvimento web com python e web2pyDesenvolvimento web com python e web2py
Desenvolvimento web com python e web2pyRelsi Maron
 
Selenium renato groffe + milton camara - mvp conf latam 2019
Selenium  renato groffe + milton camara - mvp conf latam 2019Selenium  renato groffe + milton camara - mvp conf latam 2019
Selenium renato groffe + milton camara - mvp conf latam 2019Milton Camara Gomes
 
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019Renato Groff
 
Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web APIMinicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web APIRenato Groffe
 
Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API Renato Groff
 
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Campus Party  - Desenvolvendo aplicações .Net com software gratuitoCampus Party  - Desenvolvendo aplicações .Net com software gratuito
Campus Party - Desenvolvendo aplicações .Net com software gratuitoAlexandre Tarifa
 
Magrathea - Mil Devs
Magrathea  - Mil DevsMagrathea  - Mil Devs
Magrathea - Mil DevsVitor Batista
 
Carreira de desenvolvimento de software com tecnologia microsoft
Carreira de desenvolvimento de software com tecnologia microsoftCarreira de desenvolvimento de software com tecnologia microsoft
Carreira de desenvolvimento de software com tecnologia microsoftRodrigo Kono
 
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATECAplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATECRafael Pessoni
 
Implementando realtime no frontend
Implementando realtime no frontendImplementando realtime no frontend
Implementando realtime no frontendElo7
 
Sofware Fora de Séria 2016 - Implementando realtime no frontend
Sofware Fora de Séria 2016 - Implementando realtime no frontendSofware Fora de Séria 2016 - Implementando realtime no frontend
Sofware Fora de Séria 2016 - Implementando realtime no frontendWilliam Seiti Mizuta
 
Python Brasil[9] - Entrega Contínua
Python Brasil[9] - Entrega Contínua Python Brasil[9] - Entrega Contínua
Python Brasil[9] - Entrega Contínua Renzo Nuccitelli
 
Geração de Código com o MyGeneration
Geração de Código com o MyGenerationGeração de Código com o MyGeneration
Geração de Código com o MyGenerationComunidade NetPonto
 
Silverlight no MIC Summer 2011
Silverlight no MIC Summer 2011 Silverlight no MIC Summer 2011
Silverlight no MIC Summer 2011 Felipe Pimentel
 

Semelhante a Desafios evolução frontend Angular React (20)

Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
 
Desenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroidDesenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroid
 
Desenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroidDesenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroid
 
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding DayMinicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
 
Desenvolvimento web com python e web2py
Desenvolvimento web com python e web2pyDesenvolvimento web com python e web2py
Desenvolvimento web com python e web2py
 
Selenium renato groffe + milton camara - mvp conf latam 2019
Selenium  renato groffe + milton camara - mvp conf latam 2019Selenium  renato groffe + milton camara - mvp conf latam 2019
Selenium renato groffe + milton camara - mvp conf latam 2019
 
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
 
Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web APIMinicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API
 
Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API
 
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Campus Party  - Desenvolvendo aplicações .Net com software gratuitoCampus Party  - Desenvolvendo aplicações .Net com software gratuito
Campus Party - Desenvolvendo aplicações .Net com software gratuito
 
Magrathea - Mil Devs
Magrathea  - Mil DevsMagrathea  - Mil Devs
Magrathea - Mil Devs
 
Carreira de desenvolvimento de software com tecnologia microsoft
Carreira de desenvolvimento de software com tecnologia microsoftCarreira de desenvolvimento de software com tecnologia microsoft
Carreira de desenvolvimento de software com tecnologia microsoft
 
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATECAplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
 
Implementando realtime no frontend
Implementando realtime no frontendImplementando realtime no frontend
Implementando realtime no frontend
 
Sofware Fora de Séria 2016 - Implementando realtime no frontend
Sofware Fora de Séria 2016 - Implementando realtime no frontendSofware Fora de Séria 2016 - Implementando realtime no frontend
Sofware Fora de Séria 2016 - Implementando realtime no frontend
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
Roadmap - Rodney Repullo
Roadmap - Rodney RepulloRoadmap - Rodney Repullo
Roadmap - Rodney Repullo
 
Python Brasil[9] - Entrega Contínua
Python Brasil[9] - Entrega Contínua Python Brasil[9] - Entrega Contínua
Python Brasil[9] - Entrega Contínua
 
Geração de Código com o MyGeneration
Geração de Código com o MyGenerationGeração de Código com o MyGeneration
Geração de Código com o MyGeneration
 
Silverlight no MIC Summer 2011
Silverlight no MIC Summer 2011 Silverlight no MIC Summer 2011
Silverlight no MIC Summer 2011
 

Desafios evolução frontend Angular React