GraphQL: A revolucionária linguagem de consulta e manipulação de dados para APIs
()
Sobre este e-book
Neste livro, Akira Hanashiro aborda o GraphQL, seus conceitos e comandos, tudo de forma prática já começando suas atividades na linguagem com um projeto. Você vai descobrir por que ela é tão poderosa, como implementá-la de forma rápida, com exemplos práticos em Node.JS + Apollo-Server, e como consumir dados eficientemente, no Apollo Sandbox e com JavaScript na Web. Você desenvolverá uma aplicação completa, cliente e servidor, aplicando conhecimentos em front-end e no back-end.
Relacionado a GraphQL
Ebooks relacionados
JavaScript Assertivo: Testes e qualidade de código em todas as camadas da aplicação Nota: 0 de 5 estrelas0 notasAPIs REST: Seus serviços prontos para o mundo real Nota: 5 de 5 estrelas5/5Front-end com Vue.js: Da teoria à prática sem complicações Nota: 5 de 5 estrelas5/5APIs REST em Kotlin: Seus serviços prontos para o mundo real Nota: 0 de 5 estrelas0 notasProgramação Funcional: Uma introdução em Clojure Nota: 4 de 5 estrelas4/5Refatorando com padrões de projeto: Um guia em Ruby Nota: 0 de 5 estrelas0 notasConstruindo APIs REST com Node.js: Caio Ribeiro Pereira Nota: 5 de 5 estrelas5/5ECMAScript 6: Entre de cabeça no futuro do JavaScript Nota: 5 de 5 estrelas5/5Coletânea Front-end: Uma antologia da comunidade front-end brasileira Nota: 0 de 5 estrelas0 notasElixir: Do zero à concorrência Nota: 0 de 5 estrelas0 notasFragmentos de um programador: Artigos e insights da carreira de um profissional Nota: 5 de 5 estrelas5/5Desbravando SOLID: Práticas avançadas para códigos de qualidade em Java moderno Nota: 0 de 5 estrelas0 notasSpring Boot: Acelere o desenvolvimento de microsserviços Nota: 0 de 5 estrelas0 notasApache Kafka e Spring Boot: Comunicação assíncrona entre microsserviços Nota: 0 de 5 estrelas0 notasCaixa de Ferramentas DevOps: Um guia para construção, administração e arquitetura de sistemas modernos Nota: 0 de 5 estrelas0 notasAplicações Java para a web com JSF e JPA Nota: 0 de 5 estrelas0 notasDo PHP ao Laminas: Domine as boas práticas Nota: 3 de 5 estrelas3/5O retorno do cangaceiro JavaScript: De padrões a uma abordagem funcional Nota: 0 de 5 estrelas0 notasWeb Services REST com ASP .NET Web API e Windows Azure Nota: 0 de 5 estrelas0 notasVire o jogo com Spring Framework Nota: 0 de 5 estrelas0 notasAngular 11 e Firebase: Construindo uma aplicação integrada com a plataforma do Google Nota: 0 de 5 estrelas0 notasDesconstruindo a Web: As tecnologias por trás de uma requisição Nota: 0 de 5 estrelas0 notasAzure: Coloque suas plataformas e serviços no cloud Nota: 0 de 5 estrelas0 notasArquitetura de software distribuído: Boas práticas para um mundo de microsserviços Nota: 0 de 5 estrelas0 notasDesign Patterns com PHP 7: Desenvolva com as melhores soluções Nota: 5 de 5 estrelas5/5Segurança em aplicações Web Nota: 0 de 5 estrelas0 notasReact Native: Desenvolvimento de aplicativos mobile com React Nota: 5 de 5 estrelas5/5PostgreSQL: Banco de dados para aplicações web modernas Nota: 5 de 5 estrelas5/5CodeIgniter: Produtividade na criação de aplicações web em PHP Nota: 0 de 5 estrelas0 notasYesod e Haskell: Aplicações web com Programação Funcional pura Nota: 0 de 5 estrelas0 notas
Programação para você
Aprenda a programar com Python: Descomplicando o desenvolvimento de software Nota: 5 de 5 estrelas5/5Introdução a Data Science: Algoritmos de Machine Learning e métodos de análise Nota: 0 de 5 estrelas0 notasO universo da programação: Um guia de carreira em desenvolvimento de software Nota: 5 de 5 estrelas5/5Lógica de Programação: Crie seus primeiros programas usando Javascript e HTML Nota: 3 de 5 estrelas3/5Python: Escreva seus primeiros programas Nota: 4 de 5 estrelas4/5MySQL: Comece com o principal banco de dados open source do mercado Nota: 4 de 5 estrelas4/5Cangaceiro JavaScript: Uma aventura no sertão da programação Nota: 5 de 5 estrelas5/5Lógica de programação com Portugol: Mais de 80 exemplos, 55 exercícios com gabarito e vídeos complementares Nota: 0 de 5 estrelas0 notasPostgreSQL: Banco de dados para aplicações web modernas Nota: 5 de 5 estrelas5/5Trilhas Python: Programação multiparadigma e desenvolvimento Web com Flask Nota: 4 de 5 estrelas4/5React Native: Desenvolvimento de aplicativos mobile com React Nota: 5 de 5 estrelas5/5Arduino: Guia para colocar suas ideias em prática Nota: 5 de 5 estrelas5/5Python e mercado financeiro: Programação para estudantes, investidores e analistas Nota: 5 de 5 estrelas5/5Desbravando Java e Orientação a Objetos: Um guia para o iniciante da linguagem Nota: 5 de 5 estrelas5/5Desenvolvimento web com PHP e MySQL Nota: 3 de 5 estrelas3/5Django de A a Z: Crie aplicações web rápidas, seguras e escaláveis com Python Nota: 0 de 5 estrelas0 notasOrientação a Objetos em C#: Conceitos e implementações em .NET Nota: 5 de 5 estrelas5/5Arduino prático: 10 projetos para executar, aprender, modificar e dominar o mundo Nota: 3 de 5 estrelas3/5Machine Learning: Introdução à classificação Nota: 0 de 5 estrelas0 notasProdutividade em C#: Obtenha mais resultado com menos esforço Nota: 0 de 5 estrelas0 notasBusiness Intelligence: Implementar do jeito certo e a custo zero Nota: 4 de 5 estrelas4/5Desenvolvimento de Jogos em HTML5 Nota: 5 de 5 estrelas5/5Guia prático de TypeScript: Melhore suas aplicações JavaScript Nota: 0 de 5 estrelas0 notasHTML5 e CSS3: Domine a web do futuro Nota: 4 de 5 estrelas4/5O Programador Apaixonado: Construindo uma carreira notável em desenvolvimento de software Nota: 5 de 5 estrelas5/5Linux Essentials: um guia do sistema operacional Linux para iniciantes Nota: 0 de 5 estrelas0 notasHTML 5 - Embarque Imediato Nota: 0 de 5 estrelas0 notasAplicações web real-time com Node.js Nota: 5 de 5 estrelas5/5Introdução à computação: Da lógica aos jogos com Ruby Nota: 0 de 5 estrelas0 notasScrum 360: Um guia completo e prático de agilidade Nota: 5 de 5 estrelas5/5
Avaliações de GraphQL
0 avaliação0 avaliação
Pré-visualização do livro
GraphQL - Akira Hanashiro
Sumário
ISBN
Sobre o livro
Para quem é este livro?
Sobre o autor
Para me seguir:
Agradecimentos
Prefácio
Parte 1 — Introdução ao GraphQL
1 Conhecendo um novo mundo
2 Conceitos básicos do GraphQL
Parte 2 — GraphQL e Apollo Sandbox
3 Conheça onde vamos brincar — Apollo Sandbox
4 Buscando e alterando dados
5 Conhecendo melhor os types
Parte 3 — Criando uma aplicação
6 Desenvolvimento front-end
Parte 4 — Programando um servidor
7 Desenvolvimento back-end
ISBN
Impresso e PDF: 978-85-7254-011-7
EPUB: 978-85-7254-012-4
MOBI: 978-85-7254-013-1
Caso você deseje submeter alguma errata ou sugestão, acesse http://erratas.casadocodigo.com.br.
Sobre o livro
Neste livro, aprenderemos sobre o que realmente é o tão falado GraphQL e desenvolveremos uma aplicação no front-end e outra no back-end.
Este livro está separado em quatro partes.
Na Parte 1, seremos introduzidos ao mundo do GraphQL. Conheceremos essa ferramenta, quem a usa, onde podemos usá-la para facilitar nosso trabalho e aprenderemos seus conceitos básicos.
Chegando à Parte 2, nós aprenderemos os comandos do GraphQL em um ambiente pronto feito com Apollo, que nos poupará o trabalho de ter que criar uma aplicação para aprender a trabalhar com GraphQL.
Com este ambiente nos fornecendo um servidor, na Parte 3, desenvolveremos uma aplicação front-end com JavaScript puro para consumir este serviço.
E, para finalizar, na Parte 4, nós desenvolveremos o servidor com o serviço GraphQL que viemos consumindo desde a Parte 2, utilizando o Apollo.
Para quem é este livro?
O GraphQL é independente de linguagem de programação ou banco de dados, então aprender sobre ele não exige um conhecimento avançado em programação.
Porém, este livro é destinado a desenvolvedores e desenvolvedoras web que já possuam pelo menos um conhecimento básico com front ou back-end e queiram aprender um novo modo de construir aplicações modernas e flexíveis de forma rápida, simples e produtiva.
No final do livro, desenvolveremos uma aplicação completa (cliente e servidor), então conhecer um pouco de JavaScript ajudará no entendimento.
Sobre o autor
Akira HanashiroFigura -3.1: Akira Hanashiro
Formado em Análise e Desenvolvimento de Sistemas - Fatec (2011 - 2013)
Pós-graduado em Projetos e Desenvolvimento de Aplicações Web - UniFatea (2014 - 2015)
MBA em Machine Learning - XP Educação (2017 - 2019)
Sou desenvolvedor web. Gosto de cozinhar, tocar violão e teclado, desenhar, malhar, games, séries, livros, estudar sobre hipnose, economia, finanças, desenvolvimento de jogos (Unity) e várias outras coisas, mas gosto muito mesmo de front-end.
Nasci em São Paulo, cresci no Japão e, aos 15 anos, voltei ao Brasil. Iniciei minha carreira em TI aos 18 anos, lecionando desenvolvimento de jogos digitais. Trabalho com desenvolvimento web desde 2013 e atuo em home office desde 2014.
Já estudei várias linguagens de programação, mas a que me prendeu mesmo foi o JavaScript. Porém, utilizo a que for melhor dependendo da situação. Gosto de experimentar novas tecnologias e aprender coisas novas. Já mexi com desenvolvimento web (front e back), desktop, mobile, jogos, machine learning, plugins para softwares, linha de comando etc.
Trabalhei em projetos para empresas como Ambev, Siemens, Vivo, Itaú, Gauge, Embraer e também ajudei várias startups a se desenvolverem.
Fui instrutor de cursos online na TreinaWeb (https://treinaweb.com.br), onde criei mais de 95 cursos, centenas de posts para blog e Instagram, vídeos para YouTube, workshops etc. Além disso, fui responsável pelo desenvolvimento da plataforma de cursos online da empresa.
Hoje em dia, trabalho como Front-end Engineer para empresas americanas.
Para me seguir:
GitHub:https://github.com/hanashiro
LinkedIn:https://www.linkedin.com/in/hanashiro
Instagram (dicas de programação e carreira):https://www.instagram.com/akirahanashiro
Meus jogos:https://mewters.com
Portfólio:https://hanashiro.vercel.app
Agradecimentos
Agradeço a Deus por todas as oportunidades que tive na vida.
Dedico o livro aos meus pais, que sempre se esforçaram para me dar uma vida confortável, me cobrando apenas o estudo.
Muito obrigado à família e aos amigos, que sempre me incentivam, me apoiam e confiam em minhas escolhas — por mais insanas que possam parecer.
Obrigado a todos com quem já estudei e trabalhei, pois foi assim que adquiri minha experiência, o que vem me ajudado a alcançar vários objetivos.
Obrigado à equipe da Casa do Código, principalmente à Vivian Matsui, por me orientar e ajudar a realizar um dos meus objetivos deste ano: escrever meu primeiro livro.
E, claro, agradeço a você por ter escolhido este meu livro para obter mais conhecimento e evoluir em sua carreira.
Prefácio
A revolucionária linguagem de consulta e manipulação de dados GraphQL definitivamente veio para ficar. Ela tem conquistado grandes empresas dos mais diversos ramos, desde redes sociais e até mesmo do sistema financeiro. Tem sido colocada à prova em muitas aplicações, e vem demonstrando sua grande flexibilidade para resolver os mais variados tipos de problemas em APIs.
Neste livro, você vai descobrir o que vem a ser GraphQL, o porquê de ela ser tão poderosa, como implementá-la de forma rápida (em Node.js + Apollo Server), e como consumi-la de forma rápida, com dois exemplos (no Apollo Sandbox e com JavaScript na web).
Este livro vai desafiar você, em várias etapas, a ultrapassar os limites desta brochura, para que você realize outras implementações não contempladas aqui — uma grande oportunidade para aprender ainda mais.
Boa leitura!
Nic Marcondes
Parte 1 — Introdução ao GraphQL
Capítulo 1
Conhecendo um novo mundo
Olá, web developer! Então você tem interesse em conhecer o GraphQL? Ótimo, tenho certeza de que não vai se arrepender.
No começo, eu fiquei curioso por tanta gente estar falando sobre ele, mas para mim nunca tinha ficado clara a razão de ele existir e o que ele realmente fazia — afinal, todos nós sobrevivemos até hoje sem ele, não é mesmo? Mas, quando o estudei a fundo, finalmente entendi o seu propósito e realmente percebi que, em muitos cenários, ele seria muito interessante.
Neste capítulo, você vai conhecer o que realmente é o GraphQL. Boa leitura!
1.1 Conheça o GraphQL
Você sabe o que realmente é o GraphQL? Muitas pessoas pensam que sabem, mas costumam estar enganadas. Eis o que muitas vezes encontramos sendo dito nas comunidades:
Ah, é uma nova forma de fazer consultas para bancos não relacionais.
Não passa de um novo framework JavaScript para se criar APIs.
Ele está querendo substituir o SQL.
É só mais uma camada para colocar na aplicação e nos dar mais dor de cabeça.
É a biblioteca que vai substituir o REST.
Está tudo errado! Mas não as culpo, pois eu também pensava que era uma coisa totalmente diferente do que realmente é. Para que você também o entenda, vamos imaginar um cenário com um determinado problema, e você conseguirá enxergar por conta própria o que o GraphQL resolve.
O problema
Vamos imaginar que estamos em um projeto de um sistema que gerencia escolas. O back-end será só um, mas o lado do cliente terá várias aplicações bem distintas:
Sistema Administrador - responsável pelo cadastro de escolas, professores(as), alunos(as), pais, grades curriculares etc.
Sistema do Professor - organiza a agenda do professor, permite lançar notas de provas e trabalhos, fazer registro de presença, enviar mensagens para os pais de um aluno, dar advertências etc.
Sistema do Responsável - tem uma lista dos filhos do responsável, pela qual ele pode se comunicar com professores e professoras, visualizar todas as notas, advertências, datas de provas, ver a grade de aulas etc.
Muitas APIs serão consumidas pelas três aplicações, tornando o back-end bem simples de se administrar e evitando código repetido. Cada um desses sistemas terá uma versão web e uma versão mobile.
A versão mobile será mais resumida e poderá ser acessada offline. Também teremos que permitir que pessoas com internet móvel lenta tenham uma boa experiência, então não fará sentido enviar dados que não serão usados no mobile. Aí começam a surgir alguns problemas:
O administrador, ao receber a lista de professores, terá os dados pessoais, de contato e endereço, que o responsável não deve ver