Introdução ao GraphQL
Busca de dados com abordagem declarativa para aplicações web modernas
Descrição do livro
Por que o GraphQL é a tecnologia mais inovadora para buscar dados desde o Ajax? Ao oferecer uma linguagem de consulta para suas APIs e um runtime para responder às consultas com seus dados, o GraphQL representa uma alternativa ao REST e às arquiteturas ad hoc dos web services. Com este guia prático, Alex Banks e Eve Porcello apresentam um caminho de aprendizado objetivo aos desenvolvedores web de frontend, engenheiros de backend e gerentes de projeto e de produto que queiram começar a trabalhar com o GraphQL.
Você explorará a teoria dos grafos, a estrutura de dados de grafo e os tipos do GraphQL antes de aprender a construir um esquema para uma aplicação de compartilhamento de fotos na prática. Este livro também apresenta o Apollo Client: um framework popular que pode ser usado para conectar o GraphQL à sua interface de usuário.
Explore a teoria dos grafos e analise exemplos conhecidos de grafos em uso nos dias de hoje.
Saiba como o GraphQL aplica métodos de consulta de banco de dados à internet.
Crie um esquema para uma aplicação PhotoShare, que servirá como um roteiro e um contrato entre as equipes de frontend e de backend.
Use JavaScript para implementar um serviço GraphQL totalmente funcional, e o Apollo para implementar um cliente.
Aprenda a preparar APIs GraphQL e os clientes para um ambiente de produção.
Sumário
Sumário
- Prefácio
- Capítulo 1 ■ Bem-vindo ao GraphQL
- O que é GraphQL?
- Especificação GraphQL
- Princípios de design do GraphQL
- Origens do GraphQL
- História do transporte de dados
- Remote Procedure Call (RPC)
- Simple Object Access Protocol (SOAP)
- REST
- Desvantagens do REST
- Overfetching
- Underfetching
- Administrando endpoints REST
- GraphQL no mundo real
- Clientes GraphQL
- O que é GraphQL?
- Capítulo 2 ■ Teoria dos grafos
- Vocabulário da teoria dos grafos
- História da teoria dos grafos
- Árvores e grafos
- Grafos no mundo real
- Capítulo 3 ■ A linguagem de consulta GraphQL
- Ferramentas para APIs GraphQL
- GraphiQL
- GraphQL Playground
- API GraphQL públicas
- A consulta GraphQL
- Arestas e conexões
- Fragmentos
- Mutações
- Usando variáveis de consulta
- Subscriptions
- Introspecção
- Árvores sintáticas abstratas
- Ferramentas para APIs GraphQL
- Capítulo 4 ■ Design de um esquema
- Definindo tipos
- Tipos
- Tipos escalares
- Enumerados
- Conexões e listas
- Conexões de um para um
- Conexões de um para muitos
- Conexões de muitos para muitos
- Lista de tipos diferentes
- Argumentos
- Filtrando dados
- Mutações
- Tipos input
- Tipo de retorno
- Subscriptions
- Documentação dos esquemas
- Definindo tipos
- Capítulo 5 ■ Criando uma API GraphQL
- Configuração do projeto
- Resolvers
- Resolvers raiz
- Resolvers de tipo
- Usando entradas e enumerados
- Arestas e conexões
- Escalares personalizados
- apollo-server-express
- Contexto
- Instalando o Mongo
- Adicionando um banco de dados no contexto
- Autorização do GitHub
- Configurando o OAuth do GitHub
- Processo de autorização
- Mutação githubAuth
- Autenticando usuários
- Conclusão
- Capítulo 6 ■ Clientes GraphQL
- Usando uma API GraphQL
- Requisições fetch
- graphql-request
- Apollo Client
- Apollo Client com o React
- Configuração do projeto
- Configuração do Apollo Client
- O componente Query
- Componente Mutation
- Autorização
- Autorizando o usuário
- Identificando o usuário
- Trabalhando com cache
- Políticas de busca
- Persistência do cache
- Atualizando o cache
- Usando uma API GraphQL
- Capítulo 7 ■ GraphQL no mundo real
- Subscriptions
- Trabalhando com subscriptions
- Consumindo subscriptions
- Upload de arquivos
- Tratando uploads no servidor
- Postando uma nova foto com o Apollo Client
- Segurança
- Timeout de requisições
- Limitações nos dados
- Limitando a profundidade da consulta
- Limitando a complexidade das consultas
- Apollo Engine
- Próximos passos
- Migração gradual
- A estratégia de desenvolvimento Schema-First
- Eventos associados ao GraphQL
- Comunidade
- Canais Slack da comunidade
- Subscriptions
Livros relacionados
Recursos
Opinião dos leitores
Hillus H J De S
O livro é bem objetivo, exemplos claros e leitura fácil. Recomendo.
Elifranio A C
Muito bom livro!
Angel A G M
Muito bom livro
Adriano A de P
Muito bom livro. Recomendo.






