Compartilhar via


GraphQL no Azure para desenvolvedores de 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. Se você estiver migrando um aplicativo GraphQL existente ou criando um novo, o Azure fornece ferramentas e serviços para simplificar o processo.

O que é o GraphQL?

O GraphQL é uma maneira moderna de seu aplicativo Web se comunicar com servidores e bancos 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 aplicativos JavaScript como React, Vue ou Angular
  • Ele pode tornar seus aplicativos Web mais rápidos e fáceis de criar

Em vez de fazer várias solicitações para diferentes endpoints do servidor (como nas 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 necessários.

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 solicitar apenas os dados de que precisa agora - nem mais, nem menos. É como ir a um buffet e levar apenas o que você vai comer, em vez de ser servido 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. É 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 detectar erros enquanto você está codificando, 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 seu documento.

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

  • Apollo Client: O cliente GraphQL mais usado que funciona com React, Vue, Angular e JavaScript simples.
  • URQL: Uma alternativa leve com bom desempenho.
  • Relay: Criado pelo Facebook (que também criou o GraphQL), melhor para grandes aplicativos React.

Serviços do Azure para aplicativos GraphQL

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

Se desejar... 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
Adicionar o GraphQL aos seus dados existentes Crie endpoints do GraphQL para seus dados com codificação mínima Construtor de API de Dados
Criar uma camada de API do GraphQL Criar uma interface unificada do GraphQL em 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: é como um serviço tradicional de hospedagem na web, mas com recursos extras. É ótimo para a maioria dos aplicativos JavaScript que precisam de um servidor.

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

Armazenamento de dados para aplicativos 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 endpoint GraphQL (uma 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 tabela
    • Cosmos DB: para armazenamento de dados flexível e escalonável sem esquemas rígidos

Aplicativos GraphQL seguros

  • Login e segurança do usuário: a plataforma de identidade 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: controle exatamente quais usuários podem consultar ou modificar quais dados por meio de seus endpoints do GraphQL.
  • Proteção de API: adicione limitação de taxa e monitoramento para evitar o abuso de suas APIs GraphQL.

Criar APIs do GraphQL para seus dados existentes

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

  • Gerenciamento de API: esse 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: essa 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 endpoint do GraphQL automaticamente
  4. Seu aplicativo JavaScript agora pode fazer consultas GraphQL como:
{
  products(where: { price_lt: 50 }) {
    name
    price
    description
  }
}

Essa consulta obteria 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óximas etapas