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
Microsserviços e EJB: Escale sua aplicação, não a complexidade Nota: 0 de 5 estrelas0 notasRefatorando com padrões de projeto: Um guia em Java Nota: 0 de 5 estrelas0 notasOrientação a Objetos e SOLID para Ninjas: Projetando classes flexíveis Nota: 5 de 5 estrelas5/5Programação funcional em .NET: Explore um novo universo Nota: 0 de 5 estrelas0 notasO retorno do cangaceiro JavaScript: De padrões a uma abordagem funcional Nota: 0 de 5 estrelas0 notasTestes automatizados de software: Um guia prático Nota: 5 de 5 estrelas5/5Progressive Web Apps: Construa aplicações progressivas com React Nota: 3 de 5 estrelas3/5Programação Funcional: Uma introdução em Clojure Nota: 4 de 5 estrelas4/5ECMAScript 6: Entre de cabeça no futuro do JavaScript Nota: 5 de 5 estrelas5/5Web Services REST com ASP .NET Web API e Windows Azure Nota: 0 de 5 estrelas0 notasApache Lucene: Sistemas de busca com técnicas de Recuperação de Informação Nota: 0 de 5 estrelas0 notasAkka & Akka Streams: Construa sistemas distribuídos com atores Nota: 0 de 5 estrelas0 notasPostgreSQL: Banco de dados para aplicações web modernas Nota: 5 de 5 estrelas5/5JPA Eficaz: As melhores práticas de persistência de dados em Java Nota: 0 de 5 estrelas0 notasProgramação Funcional e Concorrente em Rust Nota: 0 de 5 estrelas0 notasNoSQL: Como armazenar os dados de uma aplicação moderna Nota: 0 de 5 estrelas0 notasPrimeiros passos com Node.js Nota: 0 de 5 estrelas0 notasAngular 11 e Firebase: Construindo uma aplicação integrada com a plataforma do Google Nota: 0 de 5 estrelas0 notasConstruindo APIs REST com Node.js: Caio Ribeiro Pereira Nota: 5 de 5 estrelas5/5Back-end Java: Microsserviços, Spring Boot e Kubernetes Nota: 0 de 5 estrelas0 notasApache Cassandra: Escalabilidade horizontal para aplicações Java Nota: 0 de 5 estrelas0 notasReact Native: Desenvolvimento de aplicativos mobile com React Nota: 5 de 5 estrelas5/5Haskell: Uma introdução à programação funcional Nota: 0 de 5 estrelas0 notasJSF Eficaz: As melhores práticas para o desenvolvedor web Java Nota: 0 de 5 estrelas0 notasJava 8 Prático: Lambdas, Streams e os novos recursos da linguagem Nota: 5 de 5 estrelas5/5Flask de A a Z: Crie aplicações web mais completas e robustas em Python Nota: 4 de 5 estrelas4/5SOA aplicado: Integrando com web services e além Nota: 0 de 5 estrelas0 notasFundamentos De Programação Javascript Nota: 0 de 5 estrelas0 notasPHP e Laravel: Crie aplicações web como um verdadeiro artesão Nota: 0 de 5 estrelas0 notasXamarin Forms: Desenvolvimento de aplicações móveis multiplataforma Nota: 0 de 5 estrelas0 notas
Programação para você
Introdução a Data Science: Algoritmos de Machine Learning e métodos de análise Nota: 0 de 5 estrelas0 notasAprenda a programar com Python: Descomplicando o desenvolvimento de software Nota: 5 de 5 estrelas5/5Lógica de Programação: Crie seus primeiros programas usando Javascript e HTML Nota: 4 de 5 estrelas4/5Python: Escreva seus primeiros programas Nota: 4 de 5 estrelas4/5Desbravando SOLID: Práticas avançadas para códigos de qualidade em Java moderno 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 notasReact Native: Desenvolvimento de aplicativos mobile com React Nota: 5 de 5 estrelas5/5HTML5 e CSS3: Domine a web do futuro Nota: 4 de 5 estrelas4/5Chatbots para Telegram: Programe seus primeiros bots usando Python Nota: 0 de 5 estrelas0 notasO guia de Dart: Fundamentos, prática, conceitos avançados e tudo mais Nota: 4 de 5 estrelas4/5Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva Nota: 5 de 5 estrelas5/5O universo da programação: Um guia de carreira em desenvolvimento de software Nota: 5 de 5 estrelas5/5Arduino: Guia para colocar suas ideias em prática Nota: 5 de 5 estrelas5/5Estruturas de Dados: Domine as práticas essenciais em C, Java, C#, Python e JavaScript Nota: 0 de 5 estrelas0 notasScrum 360: Um guia completo e prático de agilidade Nota: 5 de 5 estrelas5/5Construindo APIs REST com Node.js: Caio Ribeiro Pereira Nota: 5 de 5 estrelas5/5O Programador Apaixonado: Construindo uma carreira notável em desenvolvimento de software Nota: 5 de 5 estrelas5/5Vire 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 notasBusiness Intelligence: Implementar do jeito certo e a custo zero Nota: 4 de 5 estrelas4/5MySQL: Comece com o principal banco de dados open source do mercado Nota: 4 de 5 estrelas4/5Manual de sobrevivência do novo programador: Dicas pragmáticas para sua evolução profissional Nota: 4 de 5 estrelas4/5Arquitetura Orientada a Eventos: Soluções escaláveis e em tempo real com EDA Nota: 0 de 5 estrelas0 notasIntrodução à Visão Computacional: Uma abordagem prática com Python e OpenCV Nota: 0 de 5 estrelas0 notasDesbravando Java e Orientação a Objetos: Um guia para o iniciante da linguagem Nota: 5 de 5 estrelas5/5Aprofundando em Flutter: Desenvolva aplicações Dart com Widgets Nota: 5 de 5 estrelas5/5Introdução à programação em C: Os primeiros passos de um desenvolvedor Nota: 4 de 5 estrelas4/5Certificação Linux Essentials Nota: 4 de 5 estrelas4/5Introdução à computação: Da lógica aos jogos com Ruby Nota: 0 de 5 estrelas0 notas
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
