SlideShare uma empresa Scribd logo
1 de 10
Utilizando React JS em
aplicações escaláveis
aplicações escaláveis != infraestrutura escalável
Gustavo Felizola
Desenvolvedor UI Sr no Mercado Livre
https://github.com/gfelizola
We’re hiring
Entre em contato com:
staffing@mercadolivre.com
Assunto: “Vagas Front-End”
webpack (ES6)
index.html
app.jsx
Começando pequeno, Initial Setup
branch passo1
Routes
react-router
routes.jsx
Geralmente são o item pai de toda árvore de componentes da aplicação;
Levam para componentes (não levam para “Controllers”).
Main.jsx
Componente pai de toda aplicação.
branch passo2
Componentes Dummies
Cada componente
- Possui sua responsabilidade
- Possui suas propriedades
Componentes Dummies são basicamente renders
Propriedades callbacks de eventos
branch passo3
Possuem funcionalidades
Fazem chamadas em Actions
Carregam dados de Stores
LifeCycle com mais tratamentos
componentDidMount / componentWillUpdate / componentWillUnmount
Componentes Inteligentes
branch passo4
Flux - Relacionamento entre Actions e Stores
Exibir como os dados de Login são enviados e recuperados
branch passo4
CrudStore, especialização para
reaproveitamento
menor risco de erros
maior controle sobre a manutenabilidade
CRUD!
branch master
Estrutura básica de arquivos/diretórios
build/
src/
actions/
stores/
components/
routes/
utils/
- routes.jsx
- app.js
- index.html
obrigado
?

Mais conteúdo relacionado

Destaque

ORIMARY DATA AND SECANDARY DATA
ORIMARY DATA AND SECANDARY DATAORIMARY DATA AND SECANDARY DATA
ORIMARY DATA AND SECANDARY DATAAJEET KUMAR YADAV
 
4kl chyt savchenko_2ch_2004_ua
4kl chyt savchenko_2ch_2004_ua4kl chyt savchenko_2ch_2004_ua
4kl chyt savchenko_2ch_2004_uabiblioteka_c
 
Antenille's Motivation Theories Presentation
Antenille's Motivation Theories PresentationAntenille's Motivation Theories Presentation
Antenille's Motivation Theories Presentationantenille
 
謎コンテンツ制作者向けアンケート第1段:集計結果
謎コンテンツ制作者向けアンケート第1段:集計結果謎コンテンツ制作者向けアンケート第1段:集計結果
謎コンテンツ制作者向けアンケート第1段:集計結果Uran Bird
 
Civic sports
Civic sportsCivic sports
Civic sportsJack740
 
Curiculum vitae aciq
Curiculum vitae aciqCuriculum vitae aciq
Curiculum vitae aciqlaw siewpeng
 
Breakaway Service
Breakaway ServiceBreakaway Service
Breakaway Servicepck100
 
mosquiro killer using kakawate
mosquiro killer using kakawatemosquiro killer using kakawate
mosquiro killer using kakawatesippowerpoint
 
Health matrix
Health matrixHealth matrix
Health matrixJack740
 
IMCA Capital
IMCA CapitalIMCA Capital
IMCA Capitalmcomuzzo
 

Destaque (11)

ORIMARY DATA AND SECANDARY DATA
ORIMARY DATA AND SECANDARY DATAORIMARY DATA AND SECANDARY DATA
ORIMARY DATA AND SECANDARY DATA
 
4kl chyt savchenko_2ch_2004_ua
4kl chyt savchenko_2ch_2004_ua4kl chyt savchenko_2ch_2004_ua
4kl chyt savchenko_2ch_2004_ua
 
Antenille's Motivation Theories Presentation
Antenille's Motivation Theories PresentationAntenille's Motivation Theories Presentation
Antenille's Motivation Theories Presentation
 
謎コンテンツ制作者向けアンケート第1段:集計結果
謎コンテンツ制作者向けアンケート第1段:集計結果謎コンテンツ制作者向けアンケート第1段:集計結果
謎コンテンツ制作者向けアンケート第1段:集計結果
 
Civic sports
Civic sportsCivic sports
Civic sports
 
Curiculum vitae aciq
Curiculum vitae aciqCuriculum vitae aciq
Curiculum vitae aciq
 
Breakaway Service
Breakaway ServiceBreakaway Service
Breakaway Service
 
Anchor fans
Anchor fansAnchor fans
Anchor fans
 
mosquiro killer using kakawate
mosquiro killer using kakawatemosquiro killer using kakawate
mosquiro killer using kakawate
 
Health matrix
Health matrixHealth matrix
Health matrix
 
IMCA Capital
IMCA CapitalIMCA Capital
IMCA Capital
 

Semelhante a Utilizando react js em aplicações escaláveis

Angular + Redux (ngRx)
Angular + Redux (ngRx)Angular + Redux (ngRx)
Angular + Redux (ngRx)Loiane Groner
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JSRodrigo Urubatan
 
Projetos reativos com Angular, RxJS e Redux (ngRx)
Projetos reativos com Angular, RxJS e Redux (ngRx)Projetos reativos com Angular, RxJS e Redux (ngRx)
Projetos reativos com Angular, RxJS e Redux (ngRx)Loiane Groner
 
JS Experience 2017 - Programação reativa com Ionic
JS Experience 2017 - Programação reativa com IonicJS Experience 2017 - Programação reativa com Ionic
JS Experience 2017 - Programação reativa com IoniciMasters
 
Ionic Reativo com RxJS e ngRx
Ionic Reativo com RxJS e ngRxIonic Reativo com RxJS e ngRx
Ionic Reativo com RxJS e ngRxLoiane Groner
 
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JS
TDC São Paulo 2015  - Interfaces Ricas com Rails e React.JSTDC São Paulo 2015  - Interfaces Ricas com Rails e React.JS
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JSRodrigo Urubatan
 
Apache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentesApache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentesCI&T
 
Code splitting no react
Code splitting no reactCode splitting no react
Code splitting no reactGeorgiaAntunes
 
Construindo portlets para IBM WebSphere Portal – Parte 2
Construindo portlets para IBM WebSphere Portal – Parte 2Construindo portlets para IBM WebSphere Portal – Parte 2
Construindo portlets para IBM WebSphere Portal – Parte 2rodrigoareis
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntDenis L Presciliano
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntDenis L Presciliano
 
TDC 2015 - Rails & Javascript: faça isso direito
TDC 2015 - Rails & Javascript: faça isso direitoTDC 2015 - Rails & Javascript: faça isso direito
TDC 2015 - Rails & Javascript: faça isso direitoCezinha Anjos
 
React - Compartilhando estado entre componentes
React - Compartilhando estado entre componentesReact - Compartilhando estado entre componentes
React - Compartilhando estado entre componentesJefferson Mariano de Souza
 
Escalando aplicações no front-end com ReactJS
Escalando aplicações no front-end com ReactJSEscalando aplicações no front-end com ReactJS
Escalando aplicações no front-end com ReactJSCriciúma Dev
 
Resumo Anotacoes Certificacao SCBCD 5
Resumo Anotacoes Certificacao SCBCD 5Resumo Anotacoes Certificacao SCBCD 5
Resumo Anotacoes Certificacao SCBCD 5Gilberto Holms
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo OliveiraRonildo Oliveira
 
Vue.js - o framework progressivo
Vue.js - o framework progressivoVue.js - o framework progressivo
Vue.js - o framework progressivoVinicius Reis
 

Semelhante a Utilizando react js em aplicações escaláveis (20)

Angular + Redux (ngRx)
Angular + Redux (ngRx)Angular + Redux (ngRx)
Angular + Redux (ngRx)
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
 
Projetos reativos com Angular, RxJS e Redux (ngRx)
Projetos reativos com Angular, RxJS e Redux (ngRx)Projetos reativos com Angular, RxJS e Redux (ngRx)
Projetos reativos com Angular, RxJS e Redux (ngRx)
 
JS Experience 2017 - Programação reativa com Ionic
JS Experience 2017 - Programação reativa com IonicJS Experience 2017 - Programação reativa com Ionic
JS Experience 2017 - Programação reativa com Ionic
 
Ionic Reativo com RxJS e ngRx
Ionic Reativo com RxJS e ngRxIonic Reativo com RxJS e ngRx
Ionic Reativo com RxJS e ngRx
 
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JS
TDC São Paulo 2015  - Interfaces Ricas com Rails e React.JSTDC São Paulo 2015  - Interfaces Ricas com Rails e React.JS
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JS
 
React js
React js React js
React js
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Apache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentesApache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentes
 
Code splitting no react
Code splitting no reactCode splitting no react
Code splitting no react
 
Construindo portlets para IBM WebSphere Portal – Parte 2
Construindo portlets para IBM WebSphere Portal – Parte 2Construindo portlets para IBM WebSphere Portal – Parte 2
Construindo portlets para IBM WebSphere Portal – Parte 2
 
Apache Struts
Apache StrutsApache Struts
Apache Struts
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache Ant
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache Ant
 
TDC 2015 - Rails & Javascript: faça isso direito
TDC 2015 - Rails & Javascript: faça isso direitoTDC 2015 - Rails & Javascript: faça isso direito
TDC 2015 - Rails & Javascript: faça isso direito
 
React - Compartilhando estado entre componentes
React - Compartilhando estado entre componentesReact - Compartilhando estado entre componentes
React - Compartilhando estado entre componentes
 
Escalando aplicações no front-end com ReactJS
Escalando aplicações no front-end com ReactJSEscalando aplicações no front-end com ReactJS
Escalando aplicações no front-end com ReactJS
 
Resumo Anotacoes Certificacao SCBCD 5
Resumo Anotacoes Certificacao SCBCD 5Resumo Anotacoes Certificacao SCBCD 5
Resumo Anotacoes Certificacao SCBCD 5
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 
Vue.js - o framework progressivo
Vue.js - o framework progressivoVue.js - o framework progressivo
Vue.js - o framework progressivo
 

Último

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 

Último (6)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

Utilizando react js em aplicações escaláveis

Notas do Editor

  1. g co passo1
  2. g co passo2
  3. g co passo3 Componente Menu explicar o esqueleto do Menu preencher com Snipets Teste!
  4. Olhar o Login
  5. g co master Cadastro de produtos