SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
Independência no
Front-End com GraphQL
e Redux
@cmilfont @yuriadams
No mundo Front-End (Web e Mobile)
precisamos reescrever tudo a cada
2 anos.
Em um mercado que o produto vive mais que a tecnologia
MVP CVC 2.0
Com o propósito de construir um protótipo de venda de pacotes turísticos
Nosso produto deverá ajudar clientes
Em resolver o problema de encontrar resultados com informações completas e
facilidade de customizar o pacote.
Oferecendo um serviço de detalhamento geográfico dos produtos associados ao
pacote desde o filtro de busca até o checkout e compra.
E saberemos se nosso produto funciona quando aumentarmos a conversão do
caminho entre o resultado/detalhe e melhoria em números da página de detalhe
do pacote.
2004
-
2007
2010
2011
2013
-
2016
Dojo, Yui,
Sencha (Ext.js)
Backbone,
Angular 1,
Knockout
Ember
React.js, Vue.js,
Angular 2*
O que temos hoje
Trygve Reenskaug em 1979
https://medium.com/@milfont/os-m%C3%BAsculos-do-javascript-be2b721851b7
HTTP (1990) e HTML (1993~)
Um protocolo de mensagem de texto com
linguagem de marcação baseado em árvores pra
formatar esse texto
1995
“PHP é um framework de CGI” Lerdorf, Rasmus
Monolithic Architecture
Browser
Database
HTML CSS Javascript
Service 1
DATA ACCESS
Service 2 Service N
MVC model 2
Frontend + Backend
Database
Javascript
Service NBackendFrontend
MVVM
https://medium.com/@milfont/jsx-a-resposta-do-react-pra-resolver-definitivamente-um-problema-99f572316eb5
Qual a problematica do
Rest
REST
● Resource
● URL
● Verb HTTP
POST /destinations HTTP/1.1
Host: localhost:3000
Content-Type: application/json
{
"image_url" : "https://example.org/pic.png"
}
GET /destinations HTTP/1.1
Host: localhost:3000
Content-Type: application/json
> {
"image_url" :
"https://example.org/pic.png",
"lat" : "9.54",
"lng" : "14.7",
"name" : "Cancún",
}
Backend for frontend
http://philcalcado.com/2015/09/18/the_back_end_for_front_end_pattern_bff.html
Backend for frontend
http://philcalcado.com/2015/09/18/the_back_end_for_front_end_pattern_bff.html
Backend for frontend
http://philcalcado.com/2015/09/18/the_back_end_for_front_end_pattern_bff.html
API Backend
API
Externa
GraphQL
● Declarative data fetching specification
● Query Language
● Provide a common interface between the client and the server
● Is NOT a Protocol
● Is NOT a data interchange format
● Hierarchical
● Strongly-typed
● Not Language specific
● Compatible with any backend
Custom Types - const
GraphQLJSON =
require('graphql-type-js
on');
mapping JSON
retornado do serviço
com a definição no
schema
https://www.infoq.com/br/presentations/transformando-um-front-end-legado-em-uma-react-sp
a
dispatch
estado atual
novo estado
https://vuedeux.com/
https://medium.com/@brianrudloff/how-to-bind-veux-with-redux-15c567667fb3
Obrigado!
Perguntas?

Mais conteúdo relacionado

Semelhante a Independência no Front-End com GraphQL e Redux

Indústria Digital 2023 | A digitalização no processo comercial da WEG
Indústria Digital 2023 | A digitalização no processo comercial da WEGIndústria Digital 2023 | A digitalização no processo comercial da WEG
Indústria Digital 2023 | A digitalização no processo comercial da WEGE-Commerce Brasil
 
Webinar: Desenvolvimento de Interface Gráfica para Embarcados
Webinar: Desenvolvimento de Interface Gráfica para EmbarcadosWebinar: Desenvolvimento de Interface Gráfica para Embarcados
Webinar: Desenvolvimento de Interface Gráfica para EmbarcadosEmbarcados
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
Web-infográficos e web-apps: como organizar informações
Web-infográficos e web-apps: como organizar informaçõesWeb-infográficos e web-apps: como organizar informações
Web-infográficos e web-apps: como organizar informaçõesGuilherme Storck
 
Ecossistema Microsoft por trás dos maiores apps de saúde do Brasil
Ecossistema Microsoft por trás dos maiores apps de saúde do BrasilEcossistema Microsoft por trás dos maiores apps de saúde do Brasil
Ecossistema Microsoft por trás dos maiores apps de saúde do BrasilAlexandre Tarifa
 
Encarte Revista Cisco Live especial para Futurecom 2014
Encarte Revista Cisco Live especial para Futurecom 2014Encarte Revista Cisco Live especial para Futurecom 2014
Encarte Revista Cisco Live especial para Futurecom 2014Cisco do Brasil
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2Carlos Eugenio Torres
 
2- E-commerce - e-business - e-marketing.ppt
2- E-commerce - e-business - e-marketing.ppt2- E-commerce - e-business - e-marketing.ppt
2- E-commerce - e-business - e-marketing.pptMardemCasagrande1
 
As novidades da versão Magic xpa 2.5 - Magic Sem Segredos - S01E15
As novidades da versão Magic xpa 2.5 - Magic Sem Segredos - S01E15As novidades da versão Magic xpa 2.5 - Magic Sem Segredos - S01E15
As novidades da versão Magic xpa 2.5 - Magic Sem Segredos - S01E15Magic Software Brasil
 
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...Ráfagan Abreu
 
O papel do Front-End na UX
O papel do Front-End na UXO papel do Front-End na UX
O papel do Front-End na UXEdu Agni
 
WayNext - digital trends
WayNext - digital trendsWayNext - digital trends
WayNext - digital trendswaynext
 
WEB-SIG: Geoserver e OpenLayers
WEB-SIG: Geoserver e OpenLayersWEB-SIG: Geoserver e OpenLayers
WEB-SIG: Geoserver e OpenLayersCI&T
 
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoTO Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoTSandro Andrade
 
Artigo coloquio 2013
Artigo coloquio 2013Artigo coloquio 2013
Artigo coloquio 2013testes1
 
Uma jornada de dados com R
Uma jornada de dados com RUma jornada de dados com R
Uma jornada de dados com REduardo Klein
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Rodrigo Branas
 
PHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalPHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalBruno Fernandes "PorKaria"
 

Semelhante a Independência no Front-End com GraphQL e Redux (20)

Indústria Digital 2023 | A digitalização no processo comercial da WEG
Indústria Digital 2023 | A digitalização no processo comercial da WEGIndústria Digital 2023 | A digitalização no processo comercial da WEG
Indústria Digital 2023 | A digitalização no processo comercial da WEG
 
Webinar: Desenvolvimento de Interface Gráfica para Embarcados
Webinar: Desenvolvimento de Interface Gráfica para EmbarcadosWebinar: Desenvolvimento de Interface Gráfica para Embarcados
Webinar: Desenvolvimento de Interface Gráfica para Embarcados
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Curriculum vitae u05_lutonda
Curriculum vitae u05_lutondaCurriculum vitae u05_lutonda
Curriculum vitae u05_lutonda
 
Web-infográficos e web-apps: como organizar informações
Web-infográficos e web-apps: como organizar informaçõesWeb-infográficos e web-apps: como organizar informações
Web-infográficos e web-apps: como organizar informações
 
Ecossistema Microsoft por trás dos maiores apps de saúde do Brasil
Ecossistema Microsoft por trás dos maiores apps de saúde do BrasilEcossistema Microsoft por trás dos maiores apps de saúde do Brasil
Ecossistema Microsoft por trás dos maiores apps de saúde do Brasil
 
Encarte Revista Cisco Live especial para Futurecom 2014
Encarte Revista Cisco Live especial para Futurecom 2014Encarte Revista Cisco Live especial para Futurecom 2014
Encarte Revista Cisco Live especial para Futurecom 2014
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
 
2- E-commerce - e-business - e-marketing.ppt
2- E-commerce - e-business - e-marketing.ppt2- E-commerce - e-business - e-marketing.ppt
2- E-commerce - e-business - e-marketing.ppt
 
As novidades da versão Magic xpa 2.5 - Magic Sem Segredos - S01E15
As novidades da versão Magic xpa 2.5 - Magic Sem Segredos - S01E15As novidades da versão Magic xpa 2.5 - Magic Sem Segredos - S01E15
As novidades da versão Magic xpa 2.5 - Magic Sem Segredos - S01E15
 
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
 
O papel do Front-End na UX
O papel do Front-End na UXO papel do Front-End na UX
O papel do Front-End na UX
 
WayNext - digital trends
WayNext - digital trendsWayNext - digital trends
WayNext - digital trends
 
WEB-SIG: Geoserver e OpenLayers
WEB-SIG: Geoserver e OpenLayersWEB-SIG: Geoserver e OpenLayers
WEB-SIG: Geoserver e OpenLayers
 
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoTO Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
 
felipe_brum-cv
felipe_brum-cvfelipe_brum-cv
felipe_brum-cv
 
Artigo coloquio 2013
Artigo coloquio 2013Artigo coloquio 2013
Artigo coloquio 2013
 
Uma jornada de dados com R
Uma jornada de dados com RUma jornada de dados com R
Uma jornada de dados com R
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
 
PHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalPHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederal
 

Mais de Yuri Adams

Equipes sem líderes formais e realmente autogeriddas
Equipes sem líderes formais e realmente autogeriddasEquipes sem líderes formais e realmente autogeriddas
Equipes sem líderes formais e realmente autogeriddasYuri Adams
 
Testes Unitários com JavaScript utilizando Jasmine Framework
Testes Unitários com JavaScript utilizando Jasmine FrameworkTestes Unitários com JavaScript utilizando Jasmine Framework
Testes Unitários com JavaScript utilizando Jasmine FrameworkYuri Adams
 
Testes com Javascript usando Jasmine e Rhino
Testes com Javascript usando Jasmine e RhinoTestes com Javascript usando Jasmine e Rhino
Testes com Javascript usando Jasmine e RhinoYuri Adams
 
Dojo UECE - javaCE
Dojo UECE - javaCEDojo UECE - javaCE
Dojo UECE - javaCEYuri Adams
 
Curso android - Secomp2011
Curso android - Secomp2011Curso android - Secomp2011
Curso android - Secomp2011Yuri Adams
 
Nosql e BD Orientados a Documentos
Nosql e BD Orientados a DocumentosNosql e BD Orientados a Documentos
Nosql e BD Orientados a DocumentosYuri Adams
 

Mais de Yuri Adams (6)

Equipes sem líderes formais e realmente autogeriddas
Equipes sem líderes formais e realmente autogeriddasEquipes sem líderes formais e realmente autogeriddas
Equipes sem líderes formais e realmente autogeriddas
 
Testes Unitários com JavaScript utilizando Jasmine Framework
Testes Unitários com JavaScript utilizando Jasmine FrameworkTestes Unitários com JavaScript utilizando Jasmine Framework
Testes Unitários com JavaScript utilizando Jasmine Framework
 
Testes com Javascript usando Jasmine e Rhino
Testes com Javascript usando Jasmine e RhinoTestes com Javascript usando Jasmine e Rhino
Testes com Javascript usando Jasmine e Rhino
 
Dojo UECE - javaCE
Dojo UECE - javaCEDojo UECE - javaCE
Dojo UECE - javaCE
 
Curso android - Secomp2011
Curso android - Secomp2011Curso android - Secomp2011
Curso android - Secomp2011
 
Nosql e BD Orientados a Documentos
Nosql e BD Orientados a DocumentosNosql e BD Orientados a Documentos
Nosql e BD Orientados a Documentos
 

Independência no Front-End com GraphQL e Redux