O que são API's? (para iniciantes)
Tags: api, webdev, programming, braziliandevs
Published: 2022-02-10 15:27:57

## Por que você precisa se preocupar com API's? 

Como desenvolvedor (ou até mesmo empresa), as APIs ajudam você a economizar tempo e facilitam muito o processo de desenvolvimento de software. Isso permite que você crie e libere produtos rapidamente. Se esses benefícios parecem interessantes para você, continue lendo!

## O que são APIs?


Antes de entrarmos em qualquer detalhe técnico, vamos dar uma olhada em um exemplo do mundo real para termos um contexto. 
No exemplo, veremos uma interação que todos nós já experimentamos um dia, pedindo comida diretamente para algum restaurante ou aplicativo.

Pense sobre esta situação por um momento: como você normalmente pediria comida?

Na sua forma mais simples, você faria um pedido e pegaria sua comida logo depois (espero). Em outras palavras, você faz um pedido e recebe uma resposta (na forma de comida). Esse tipo básico de interação (ou seja, fazer algum tipo de solicitação e obter algum tipo de resposta de volta) se aplica a muitos outros contextos. Mas, por enquanto, vamos nos concentrar no exemplo de pedido de comida.

Vamos visualizar essa interação abaixo:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p4mn365d7e62b4h9ke6s.gif)



Então, o que pedir comida tem a ver com API's?

Em sua essência, as API's se comportam da mesma maneira. Pense em uma API como uma maneira de um software solicitar informações de outro software e receber uma resposta de volta. Bem, de que tipo de informação estamos falando? Na maioria das vezes, estamos falando de dados. Quaisquer dados que algum software deseja. Por exemplo: um site pode querer saber o clima em um local específico, ou um aplicativo de mídia social pode querer saber o que as pessoas estão fazendo. Basicamente, quaisquer dados que atendam às suas necessidades de negócios.

Vamos visualizar como uma API se comporta:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wzp6tv7kbvxscfq6rd4r.gif)

Como você pode ver, uma API ajuda você a solicitar e receber dados.

No caso do nosso exemplo do pedido de comida, um cliente faz um pedido, que é então enviado para a cozinha. A cozinha então processa o pedido e envia a comida de volta ao cliente. O cliente não precisa saber como a cozinha faz sua comida, apenas que  recebe o pedido solicitado.

As API's funcionam da mesma maneira. Um sistema faz uma solicitação, que é processada pelo receptor. O receptor então envia a resposta de volta ao solicitante. O solicitante não precisa saber como o destinatário processa a solicitação, apenas que recebe a resposta contendo a solicitação que requerida.

Agora que temos uma ideia do que é uma API, o que significa?

API significa Application Programming Interface, ou na sua tradução literária, Interface de Programação de Aplicações. 

---

Se você olhar para essas três palavras, uma delas pode ser menos clara do que as outras. Aposto que "interface" é essa palavra. Então o que isso significa?

Vejamos outro exemplo: se quiser ouvir sons do seu computador, você precisará conectar algum dispositivo de áudio no computador. Mas como você faz isso? Você conectaria os fones de ouvido, por exemplo, a uma entrada USB. A entrada USB, neste exemplo, é uma interface entre seus fones de ouvido e o computador. Essa entrada USB expõe a funcionalidade ao usuário, para que o usuário obtenha o que deseja (som). O usuário não precisa entender como isso funciona, apenas receber o retorno que está buscando (neste caso, o som).

Interfaces em software atuam no mesmo princípio. No contexto de software, uma Interface de Programação de Aplicativo ajuda o software a obter informações de outro software sem precisar saber como ele funciona, apenas que eles obtenham o que desejam.




![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xapo59neyxffdd4fzrtp.jpg)

Você percebe como esse princípio pode ser benéfico? Como seu software apenas solicita e recebe o que está procurando, você economiza tempo reutilizando a funcionalidade que já existe. Não há necessidade de reinventar os dados. 
Aqui está um exemplo: por que fazer pão caseiro quando você pode comprá-lo em uma loja? Isso economizaria muito tempo, o que ajuda a enviar seu produto mais rapidamente.

Excelente! Agora que entendemos melhor as APIs, vamos entrar em mais detalhes. Vou voltar ao nosso primeiro exemplo: pedir comida. Como você sabe, existem alguns passos extras que você precisa tomar antes de pedir comida. Não é tão simples como pedir e depois receber comida. Essas etapas podem ser divididas em:

Passo 1: Reconheça que você está com fome e que gostaria de comer alguma coisa.
Passo 2: Vá a um restaurante que sirva o que você procura.
Passo 3: Navegue pelo cardápio.
Passo 4: Decida o que você gostaria de pedir.
Passo 5: Fale com um garçom e faça seu pedido.
Passo 6: Espere um pouco e, eventualmente, seu garçom trará o seu pedido.

Vamos traduzir cada uma dessas etapas no contexto das API's:

Etapa 1: Reconheça que você precisa de dados e gostaria de obtê-los sem precisar construí-los do zero.
Etapa 2: Faça uma pesquisa na Internet para encontrar a API que deseja.
Etapa 3: Navegue pela documentação da API.
Etapa 4: Decida quais dados você precisa e como os solicitaria.
Etapa 5: Interaja com a API e envie sua solicitação.
Etapa 6: Espere um pouco e, eventualmente, sua API trará os seus dados.
Fornecerei mais detalhes sobre cada uma dessas etapas em um artigo futuro, mas por enquanto, o propósito desse artigo é entender o que é uma API. Espero ter ajudado de uma forma mais interessante, com uma leitura simples.


## Onde você pode encontrar uma API?

Às vezes, encontrar o prato que você quer pedir pode ser difícil. Por exemplo, se você quiser comer macarrão, pode visitar o restaurante que visitou anteriormente ou procurar online um novo restaurante com boas críticas. Outras vezes, você pode nem saber o que quer comer.

Essa ideia também se aplica às API's. Se você quiser usar uma API, você pode usar uma com a qual esteja familiarizado ou fazer uma pesquisa no Google para encontrar o que está procurando. Mas isso pode ser difícil porque existem muitas API's por aí. E muitas vezes, pode ser difícil encontrar a API certa de que você precisa. Às vezes, você pode querer navegar pelas API's por categorias e ver o que há por aí.

Bem, e se você quisesse tornar as coisas mais fáceis? Você pode ir a um buffet, pois sabe que eles têm todos os tipos de comida. E se você pudesse visitar um mercado agregado para todos os tipos de API's? Não seria muito mais fácil?

Felizmente, existe um produto que faz exatamente isso! [RapidAP](https://rapidapi.com/) é um mercado/agregado de API's, para ajudar a encontrar a API certa para suas necessidades. Você pode pensar nisso como um buffet de API's porque tem tudo o que você pode precisar.

## Quer aprender mais?

Esta foi apenas uma introdução para ajudar os iniciantes a entender as API's e por que elas são importantes. Em um artigo futuro, entrarei em mais detalhes. Vou explicar como você pode encontrar a API certa para suas necessidades e como usá-las (com trechos de código). Espero que isso tenha ajudado você! 

Até mais! 


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yqgn3gmtkzboudd317lk.gif)