Partilhar via


GraphQL no Azure para desenvolvedores JavaScript

O GraphQL ajuda seus aplicativos JavaScript a recuperar exatamente os dados de que precisam com uma única solicitação. Este artigo explica o que é o GraphQL, por que você pode usá-lo e como os serviços do Azure podem ajudá-lo a criar aplicativos GraphQL com o mínimo de esforço. Quer esteja a migrar uma aplicação GraphQL existente ou a criar uma nova, o Azure fornece ferramentas e serviços para simplificar o processo.

O que é o GraphQL?

O GraphQL é uma forma moderna de a sua aplicação web falar com servidores e bases de dados. Pense nisso como uma maneira mais inteligente de solicitar exatamente as informações de que você precisa:

  • É como pedir uma refeição personalizada em vez de aceitar um menu fixo - você pede exatamente o que deseja
  • Funciona bem com aplicações JavaScript como React, Vue ou Angular
  • Pode tornar as suas aplicações Web mais rápidas e fáceis de criar

Em vez de fazer várias solicitações para diferentes pontos de extremidade do servidor (como com APIs REST tradicionais - a maneira padrão como a maioria dos serviços da Web se comunica), o GraphQL permite que você faça uma solicitação precisa para obter todos os dados de que precisa.

Por que eu gostaria de usar o GraphQL no meu aplicativo Web?

O GraphQL torna seus aplicativos JavaScript melhores de três maneiras principais:

  • Obtenha exatamente o que você precisa: seu aplicativo pode pedir apenas os dados de que precisa agora - nem mais, nem menos. Isto é como ir a um buffet e levar apenas o que vai comer, em vez de ser servida uma refeição fixa gigante onde a maioria é desperdiçada. Isso torna seu aplicativo mais rápido porque ele baixa menos dados.

  • Um pedido em vez de muitos: precisa de informações de vários lugares? Em vez de fazer 5 solicitações diferentes para 5 endpoints diferentes, o GraphQL permite que você faça apenas uma solicitação para obter tudo. Isso é como ter uma pessoa reunindo todas as suas compras em vez de você ir a cinco lojas diferentes.

  • Menos erros com ferramentas melhores: o GraphQL vem com ferramentas que ajudam a detetar erros enquanto você codifica, em vez de quando seu aplicativo está em execução. É como ter uma verificação ortográfica que funciona enquanto você digita, em vez de descobrir erros de digitação depois de publicar o documento.

Ao criar com GraphQL e JavaScript, você provavelmente usará uma destas ferramentas populares:

  • Apollo Client: O cliente GraphQL mais utilizado que funciona com React, Vue, Angular e JavaScript simples.
  • URQL: Uma alternativa leve com bom desempenho.
  • Retransmissão: Criado pelo Facebook (que também criou o GraphQL), melhor para grandes aplicações React.

Serviços do Azure para aplicativos GraphQL

Escolha a sua abordagem com base no seu cenário específico:

Se quiser... Então você deve... Usando esses serviços do Azure
Trazer um aplicativo GraphQL existente para o Azure Implante seu aplicativo sem alterar seu código Serviço de Aplicativo do Azure ou Aplicativos de Contêiner do Azure
Adicione o GraphQL aos seus dados existentes Crie endpoints GraphQL para seus dados com codificação mínima Construtor de API de dados
Criar uma camada de API do GraphQL Criar uma interface GraphQL unificada sobre APIs existentes Gerenciamento de API do Azure com transformação GraphQL

Hospedar aplicativos GraphQL no Azure

Você tem algumas boas opções, dependendo do tipo de aplicativo que está criando:

  • Serviço de Aplicativo: Este é como um serviço de hospedagem web tradicional, mas com recursos extras. É ótimo para a maioria dos aplicativos JavaScript que precisam de um servidor.

  • Aplicativos de contêiner: se seu aplicativo estiver empacotado em contêineres (como o Docker), esse serviço facilitará a execução e o dimensionamento deles.

Armazenamento de dados para aplicações GraphQL

O GraphQL precisa se conectar aos seus dados. O Azure oferece várias maneiras de fazer isso:

  • Transforme seu banco de dados em uma API GraphQL: A ferramenta "Data API builder" pode criar automaticamente um ponto de extremidade GraphQL (um URL onde seu aplicativo pode enviar solicitações GraphQL) a partir de seu banco de dados existente - sem necessidade de codificação!

  • Armazene seus dados: o Azure oferece bancos de dados para diferentes necessidades:

    • Banco de dados SQL: para dados tradicionais baseados em tabelas
    • Cosmos DB: Para armazenamento de dados flexível e escalável sem esquemas rígidos

Aplicações GraphQL seguras

  • Login e segurança do usuário: a plataforma Identity do Azure ajuda você a adicionar recursos de login ao seu aplicativo para que apenas as pessoas certas possam acessar seus dados do GraphQL.
  • Acesso baseado em função: Controlo exatamente quais utilizadores podem consultar ou modificar quais dados através dos seus endpoints GraphQL.
  • Proteção de API: adicione limitação de taxa e monitoramento para evitar abuso de suas APIs do GraphQL.

Crie APIs do GraphQL para seus dados existentes

Já tem dados no Azure e quer acessá-los com o GraphQL? Existem maneiras simples de fazer isso:

  • Gerenciamento de API: este serviço pode criar uma camada GraphQL na frente de suas APIs ou fontes de dados existentes. É como adicionar um tradutor GraphQL a sistemas que não falam GraphQL nativamente.

  • Data API Builder: Esta ferramenta cria automaticamente endpoints GraphQL a partir de seus bancos de dados. É a maneira mais rápida de adicionar o GraphQL aos seus dados existentes - basta apontá-lo para o seu banco de dados e ele faz o trabalho para você.

Um exemplo simples: Criando uma API GraphQL para um banco de dados de produtos

Veja como o processo funciona em termos simples:

  1. Você tem um banco de dados com informações sobre produtos (nomes, preços, descrições)
  2. Você configura o Data API Builder para se conectar ao seu banco de dados
  3. O Data API Builder cria um ponto de extremidade GraphQL automaticamente
  4. Seu aplicativo JavaScript agora pode fazer consultas GraphQL como:
{
  products(where: { price_lt: 50 }) {
    name
    price
    description
  }
}

Esta consulta lhe daria todos os produtos abaixo de US $ 50, mostrando apenas seus nomes, preços e descrições.

Recursos para ajudá-lo a começar

Se você quiser saber mais ou começar a criar com o GraphQL no Azure, aqui estão alguns recursos úteis:

Próximos passos