Drupal 8 e ReactJS - DrupalCamp Campinas 2016
-
Upload
taller-negocio-digitais -
Category
Software
-
view
423 -
download
1
Transcript of Drupal 8 e ReactJS - DrupalCamp Campinas 2016
![Page 2: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/2.jpg)
Desacoplar Drupal ?
![Page 3: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/3.jpg)
Diminuir a interdependênciaentre as camadas
ou entidades de um sistema
![Page 4: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/4.jpg)
Aumentarinteroperabilidade
![Page 5: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/5.jpg)
Contrato de comunicação
transparente entre diferentes partes
do sistema
![Page 6: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/6.jpg)
GraphQL
![Page 7: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/7.jpg)
Front-end
Back-end
![Page 8: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/8.jpg)
Por quediminuir oacoplamento?
![Page 9: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/9.jpg)
Regras de negóciode como acessar as
informações misturadas
com apresentação
![Page 10: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/10.jpg)
Overloadde
complexidade
![Page 11: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/11.jpg)
A soma das partes é maior do que o resultado final.
Entropia
![Page 12: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/12.jpg)
Alto risco e esforçoperante as mudanças
![Page 13: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/13.jpg)
![Page 14: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/14.jpg)
Alto risco e esforçoperante as mudanças
![Page 15: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/15.jpg)
![Page 16: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/16.jpg)
![Page 17: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/17.jpg)
O que é ágil ?
![Page 18: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/18.jpg)
“ It’s not what happens
that counts…it’s how you react.
![Page 19: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/19.jpg)
Bruce Lee
![Page 20: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/20.jpg)
Front-end geradopelo back-end
![Page 21: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/21.jpg)
Alto conhecimento do todo para realizar
uma mudança
![Page 22: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/22.jpg)
Overloadcognitivo
para entender
![Page 23: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/23.jpg)
Side-effects everywhere
![Page 24: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/24.jpg)
De onde vemesse campo?
![Page 25: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/25.jpg)
Quem está trocando o texto desse botão?
![Page 26: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/26.jpg)
Porque não está funcionando?
![Page 27: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/27.jpg)
Porque está funcionando?
![Page 28: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/28.jpg)
De onde vem esse estilo/css?
![Page 29: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/29.jpg)
Como troco a mensagem de validação do campo?
![Page 30: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/30.jpg)
Softwaremonolítico
![Page 31: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/31.jpg)
![Page 32: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/32.jpg)
Maneiras de desacoplar
TOTALMENTE
★ Web App separada.
★ Drupal Head-less.
★ Comunicação entre as partes puramente via APIs.
PARCIAL
★ Web App é um Theme / Tema.
★ Entrega do HTML final e sistema de rotas do Drupal.
PROGRESSIVO
★ Alguns componentes são puramente feitos em JS + Drupal behaviors.
★ Entrega do HTML final e sistema de rotas do Drupal.
![Page 33: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/33.jpg)
Não temfórmula mágica
![Page 34: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/34.jpg)
Maneira => parcial
![Page 35: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/35.jpg)
Por que ?
![Page 36: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/36.jpg)
Quase separação completa
![Page 37: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/37.jpg)
Desacoplar por completo
aumenta o risco
![Page 38: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/38.jpg)
Queremos inovar com menor risco
![Page 39: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/39.jpg)
Podemos usar o Drupal onde melhor
se encaixa
![Page 40: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/40.jpg)
●Sistema de rotas.●Login / Sessão /
Usuários.●Sistema de
permissões.●RESTful API.●Gerenciador de
conteúdo.
![Page 41: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/41.jpg)
Time de devs preparados para o
desafio
![Page 42: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/42.jpg)
Drupaleiros queadoram Javascript
JS
![Page 43: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/43.jpg)
Não precisamos de
server rendering
![Page 44: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/44.jpg)
Comoestamosfazendo ?
![Page 45: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/45.jpg)
Tratamos rotas da Web App como exceção
utilizando um prefixo ou subdomínio
![Page 46: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/46.jpg)
mymodule_core.routes.yml
![Page 47: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/47.jpg)
/app => Home/app/* => Páginas filhas
![Page 48: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/48.jpg)
Módulos contribpodem criar rotas,
regras de acesso,assets ou
arquivos privados
![Page 49: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/49.jpg)
Login no admindo Drupal
![Page 50: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/50.jpg)
Páginas de 404 ou 403
são tratadas pelo Drupal
![Page 51: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/51.jpg)
Rotas do Drupal se comportam diferente do
Symfony
![Page 52: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/52.jpg)
Symfony
![Page 53: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/53.jpg)
Drupal
![Page 54: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/54.jpg)
Drupalmymodule.service
s.yml
![Page 55: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/55.jpg)
http://bit.ly/292xoAu
![Page 56: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/56.jpg)
Web App = Theme / Tema
![Page 57: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/57.jpg)
/app/* = webapp.theme
![Page 58: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/58.jpg)
Serviço: theme_negotiator
![Page 59: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/59.jpg)
![Page 60: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/60.jpg)
Login e sessão do usuário é
responsabilidade do Drupal usando
Cookie
![Page 61: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/61.jpg)
Drupal 8tem tudo em REST
fora da caixacerto?
![Page 62: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/62.jpg)
Login, não.
![Page 63: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/63.jpg)
Tentamos usaro formulário de
loginmas carece de
respostassemânticas de HTTP
![Page 64: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/64.jpg)
Redirects depois de realizar o login com
sucesso para/user
![Page 65: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/65.jpg)
Achamos um issuecom patch!
drupal.org/node/2403307
![Page 66: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/66.jpg)
![Page 67: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/67.jpg)
StackFront-end Back-
end
![Page 68: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/68.jpg)
React
![Page 69: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/69.jpg)
V do MVC
![Page 70: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/70.jpg)
Por queReact ?
![Page 71: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/71.jpg)
Programaçãofuncional e reativa
λ
![Page 72: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/72.jpg)
![Page 73: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/73.jpg)
Virtual DOM
<a href=”#”>link</a>
![Page 74: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/74.jpg)
safaribooksonline.com
![Page 75: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/75.jpg)
Diminui:repaint & reflows
![Page 76: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/76.jpg)
Simples e declarativo que
aumenta o entendimento do
código
![Page 77: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/77.jpg)
Familiar vs. Legibilidade
pessoas novas no time podem entender o que o
código faz
![Page 78: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/78.jpg)
Renderizaçãono servidor
melhora SEO e UX
![Page 79: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/79.jpg)
Componente representa uma
função que recebe argumentos
e retorna o virtual dom
render()
![Page 80: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/80.jpg)
State lesscomponents
![Page 81: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/81.jpg)
![Page 82: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/82.jpg)
Ecossistemainduz
programaçãofuncional
![Page 83: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/83.jpg)
Comunidade que cresce
rapidamente e altamente inovadora
![Page 84: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/84.jpg)
Eventos sintéticos
implementando Event Delegation
![Page 85: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/85.jpg)
React Native
ElectronApp
![Page 86: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/86.jpg)
+ Enzym
e
![Page 87: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/87.jpg)
![Page 88: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/88.jpg)
![Page 89: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/89.jpg)
![Page 90: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/90.jpg)
![Page 91: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/91.jpg)
![Page 92: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/92.jpg)
github.com/choko-org/redux-boot
![Page 93: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/93.jpg)
![Page 94: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/94.jpg)
![Page 95: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/95.jpg)
CSSModules
![Page 96: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/96.jpg)
![Page 97: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/97.jpg)
Webpack
+
![Page 98: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/98.jpg)
ES6 com plus!!
/webapp/dist/bundle.js
![Page 99: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/99.jpg)
Não é a melhorsolução para todos
os problemas !
![Page 100: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/100.jpg)
Work in Progress
![Page 101: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/101.jpg)
Drupal 8 rocks!★ Arquitetura menos acoplada.★ Services API, não precisamos de
hooks!★ Entities API simples, realmente.★ Testes unitários e E2E headless.★ Composer PHP. \o/★ Drupal Console.
![Page 102: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/102.jpg)
Trabalho em equipe!
![Page 103: Drupal 8 e ReactJS - DrupalCamp Campinas 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062316/587329bd1a28ab596c8b551d/html5/thumbnails/103.jpg)
Perguntas ?
Sebastian Ferrarisebas5384