SlideShare uma empresa Scribd logo
Drupal 8
Decoupled com GraphQL e React
Cleber Gasparoto • Full Stack Developer • chgasparoto@gmail.com
Cleber Gasparoto • Full Stack Developer • chgasparoto@gmail.com
Cleber Gasparoto
Full Stack Developer na CI&T
● Web developer há 8 anos
● PHP, CodeIgniter, Laravel, jQuery
● Drupaleiro há 2 anos e meio
● 4 projetos internacionais e 1 nacional
● Full Stack há 2 meses
● @clebergasparoto | https://drupal.org/u/chgasparoto
Empresa global, presente
no Brasil, EUA, Europa,
Japão e China.
Referência Drupal, com
centenas de contribuições
na comunidade.
CI&T - Colabore, Inove, Transforme • http://ciandt.com • https://drupal.org/cit
Tópicos
● GraphQL
● GraphQL e Drupal
● React + Apollo
● Tudo junto
GraphQL
● Resolve dois problemas do mundo REST
● Over Fetching (sobrecarga) de dados
● Under Fetching (falta) de dados
● Faz todo o processamento em apenas
uma requisição
Porque existe?
REST
URL Método Operação
/<name> POST Cria um registro
/<name> GET Obtém todos os registros
/<name>/:id GET Obtém o registro com o id fornecido
/<name>/:id PUT/PATCH Atualiza o registro com o id fornecido
/<name>/:id DELETE Deleta o registro com o id fornecido
Decoupled Drupal com GraphQL e React
● O GraphQL é uma linguagem de consulta
a dados para API's desenvolvida e usada
pelo Facebook desde 2012.
● Em Julho de 2015 se tornou Open
Source, portanto é uma tecnologia
relativamente muito recente, mas
também muito poderosa.
O que é?
Decoupled Drupal com GraphQL e React
Grafos
User
User
Post
Followers
Post
Decoupled Drupal com GraphQL e React
http://graphql.org/users/
● Schema
● Tipos de Dados (Fortemente tipado)
● Validação dos dados
● Sabe exatamente o que pode ser
requisitado
● Entrega "somente" o que foi requisitado
● Versionless
Como funciona?
http://graphql.org/
Schema
Gerando um Schema com PHP
https://github.com/Youshido/GraphQL/blob/ma
ster/examples/02_blog/Schema/BlogSchema.
php
Gerando um Schema com Node e Express
https://github.com/StephenGrider/Lyrical-Grap
hQL/blob/master/server/schema/root_query_ty
pe.js
Drupal
composer require drupal/graphql
OU
https://www.drupal.org/project/graphql
Instalação
Como usar?
Básico
● Primeiro aprenda GraphQL (http://graphql.org/learn) (https://www.howtographql.com)
● Use o GraphiQL
○ Vem junto com o módulo, acesso através de /graphql/explorer
○ Ctrl+space é o seu melhor amigo, sério!
Como usar?
Avançado
● Implementar um módulo customizado
● Utilizando Plugin API e Plugin Annotations do Drupal
● Tirar como exemplo o módulo graphql_core
● Exemplo: https://www.amazeelabs.com/en/blog/extending-graphql-part1-fields
● Exemplo: https://www.amazeelabs.com/en/blog/extending-graphql-part-2
Decoupled Drupal com GraphQL e React
Demonstração
Decoupled Drupal com GraphQL e React
React + Apollo
React
● Uma biblioteca JavaScript para construir interfaces de
usuário.
● Baseado em componentes.
● Componente é escrito em Javascript ao invés de
templates, assim fica fácil passar os dados através da sua
aplicação e manter o estado fora do DOM.
Apollo
● Apollo provê uma API GraphQL universal em cima de um
serviço, sendo possível construir novas funcionalidades
rapidamente sem esperar pelo backend.
● Queries, caching, mutations, optimistic UI, subscriptions,
pagination, server-side rendering, prefetching, e mais.
Decoupled Drupal com GraphQL e React
Decoupled Drupal com GraphQL e React
Tudo Junto
Arquitetura
React
Apollo
DrupalGraphQL
Front-end Back-end
Demonstração
Decoupled Drupal com GraphQL e React
Perguntas?
Referências
● http://graphql.org/
● https://www.howtographql.com/
● https://github.com/drupal-graphql/graphql
● https://reactjs.org/
● https://www.apollographql.com/
● https://www.amazeelabs.com/en/blog/drupal-graphql-react-apollo
Obrigado!
chgasparoto@gmail.com | @clebergasparoto | https://drupal.org/u/chgasparoto

Mais conteúdo relacionado

PDF
Globo.com - Porque amamos open-source?
ODP
Overview de Grails: O Java em alta produtividade
PDF
GraphQL - A Linguagem do Facebook para APIs
PDF
Pyramid - BDD em Python
PPTX
Contribuindo para a comunidade Elixir
PPTX
Utilidades para o dia a dia no VS 2019
PDF
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
PDF
Ambiente livre para desenvolvimento web
Globo.com - Porque amamos open-source?
Overview de Grails: O Java em alta produtividade
GraphQL - A Linguagem do Facebook para APIs
Pyramid - BDD em Python
Contribuindo para a comunidade Elixir
Utilidades para o dia a dia no VS 2019
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
Ambiente livre para desenvolvimento web

Mais procurados (9)

PPTX
Como é ser uma Front-end em 2018
PDF
#4 - Git - Stash
PDF
Introdução ao kotlin
PPTX
Vamos automatizar! Conheça o Gulp Js
PPTX
Pipeline de deploy continuo (DevOps) de chatbot
PDF
Automatize suas tarefas: conheça o GulpJS.
PPTX
GraphQL com .NET Core
PPTX
Introducao ao GraphQL
Como é ser uma Front-end em 2018
#4 - Git - Stash
Introdução ao kotlin
Vamos automatizar! Conheça o Gulp Js
Pipeline de deploy continuo (DevOps) de chatbot
Automatize suas tarefas: conheça o GulpJS.
GraphQL com .NET Core
Introducao ao GraphQL
Anúncio

Semelhante a Decoupled Drupal com GraphQL e React (20)

PPTX
Introdução ao GraphQL - Uma nova forma de criar APIs
PDF
Intro à Graphql
PDF
GraphQL ou APIs RESTful - DevDay 2017
PPTX
Introdução ao GraphQL - Uma nova forma de criar APIs (Ruby)
PDF
GraphQL na Era das APIs
PDF
GraphQL - aposta ou retrocesso?
PDF
GraphQL: PUTs, onde foram parar os verbos HTTP?
PPTX
GraphQL - uma nova maneira de projetar api's
PDF
GraphQL 101
PDF
GraphQL - A Graph Query Language to your API
PDF
GraphQL e WordPress, uma bonita união
PDF
Introdução ao GraphQL
PDF
De um sistema legado para micro serviços com GraphQL
PPTX
GraphQL - Uma nova maneira de projetar api's
PDF
GraphQL na GetNinjas (2017-09-20)
PDF
REST vs GraphQL - A batalha das APIs.pdf
PDF
PHP Community Summit - Do REST ao GraphQL com PHP
PDF
REST vs GraphQL - A batalha das APIs.pdf
PDF
Tdc graphql do node para go
PPTX
GraphQL - APIs mais robustas e flexíveis
Introdução ao GraphQL - Uma nova forma de criar APIs
Intro à Graphql
GraphQL ou APIs RESTful - DevDay 2017
Introdução ao GraphQL - Uma nova forma de criar APIs (Ruby)
GraphQL na Era das APIs
GraphQL - aposta ou retrocesso?
GraphQL: PUTs, onde foram parar os verbos HTTP?
GraphQL - uma nova maneira de projetar api's
GraphQL 101
GraphQL - A Graph Query Language to your API
GraphQL e WordPress, uma bonita união
Introdução ao GraphQL
De um sistema legado para micro serviços com GraphQL
GraphQL - Uma nova maneira de projetar api's
GraphQL na GetNinjas (2017-09-20)
REST vs GraphQL - A batalha das APIs.pdf
PHP Community Summit - Do REST ao GraphQL com PHP
REST vs GraphQL - A batalha das APIs.pdf
Tdc graphql do node para go
GraphQL - APIs mais robustas e flexíveis
Anúncio

Último (19)

PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Processos na gestão de transportes, TM100 Col18
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Processos na gestão de transportes, TM100 Col18
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Aula04-Academia Heri- Tecnologia Geral 2025
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
COBITxITIL-Entenda as diferença em uso governança TI
Apple Pippin Uma breve introdução. - David Glotz
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Aula 18 - Manipulacao De Arquivos python
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx

Decoupled Drupal com GraphQL e React