O que é uma API? (Interface de programação de aplicativos)
API é um acrônimo para Application Programming Interface, traduzindo, interface de programação de aplicativos, que é um software intermediário que permite que dois aplicativos conversem entre si. Sempre que você usa um aplicativo como o Facebook, envia uma mensagem instantânea ou verifica a previsão do tempo em seu telefone, está usando uma API.
Um exemplo de API
Quando você usa um aplicativo em seu telefone, o aplicativo se conecta à Internet e envia dados para um servidor. O servidor recupera esses dados, interpreta-os, executa as ações necessárias e os envia de volta ao seu telefone. O aplicativo então interpreta esses dados e apresenta as informações que você deseja em um formato legível. Esta é a API - tudo isso acontece por meio da API.
Para explicar melhor isso, vamos dar um exemplo familiar.
Imagine que você está sentado à mesa de um restaurante com um menu de opções à sua frente. A cozinha faz parte do "sistema" que prepara o seu pedido. O que falta é o elo crítico de comunicar seu pedido à cozinha e levar a comida de volta à mesa. É aqui que entra um servidor ou API. O garçom é o mensageiro - ou API - que recebe seu pedido ou pedidos e diz à cozinha - o sistema - o que fazer. O garçom então retorna a resposta para você, neste caso, é a comida.
Aqui está um exemplo de API da vida real. Você provavelmente está familiarizado com o processo de pesquisa de voos online. Assim como nos restaurantes, você tem várias opções, incluindo diferentes cidades, datas de ida e volta e muito mais. Digamos que você esteja reservando um voo no site de uma companhia aérea. Você pode escolher a cidade e data de saída, cidade e data de retorno, classe de viagem e outras variáveis. Para reservar um voo, você precisará interagir com o site da companhia aérea para acessar seu banco de dados e ver se há assentos disponíveis nessas datas e qual pode ser o custo.
Mas e se você não usar o site da companhia aérea - um canal onde você pode acessar diretamente as informações? E se você usar um serviço de viagens on-line, que agrega informações de vários bancos de dados de companhias aéreas?
Nesse caso, o serviço de viagens interage com a API da companhia aérea. Uma API é uma interface, como seu atendente útil, que este serviço de viagens online pode chamar para obter informações sobre assentos reservados, opções de bagagem e muito mais do banco de dados da companhia aérea. A API então recebe a resposta da companhia aérea à sua solicitação e a repassa adequadamente ao serviço de viagens on-line, exibindo as informações relevantes mais recentes.
Saiba mais sobre todos os tipos de APIs: Quais são os diferentes tipos de API?
A API também fornece uma camada de segurança
Os dados do seu telefone nunca são totalmente expostos ao servidor e o servidor nunca é totalmente exposto ao seu telefone. Em vez disso, todos se comunicam usando pequenos pacotes de dados, compartilhando apenas o necessário – como pedir comida para viagem. Você diz ao restaurante o que quer, eles dizem o que querem em troca e, no final, você recebe sua refeição.
As APIs se tornaram tão valiosas que representam uma parcela significativa das receitas de muitas empresas. Grandes players como Google, eBay, Salesforce.com, Amazon e Expedia são apenas algumas das empresas que ganham dinheiro com APIs. A "economia da API" refere-se ao mercado dessa API.
Saiba mais sobre API REST no Android: O que é API REST no Android?
APIs modernas
Ao longo dos anos, o que é uma "API" geralmente tem descrito qualquer tipo de interface de conexão genérica para um aplicativo. Recentemente, no entanto, as APIs modernas têm algumas características que as tornam muito valiosas e úteis:
- As APIs modernas aderem a padrões amigáveis ao desenvolvedor, acessíveis e amplamente compreendidos (normalmente HTTP e REST).
- Eles são mais produtos do que códigos. Eles são projetados para uso por um público específico (por exemplo, desenvolvedores móveis), são documentados e têm versões para que os usuários possam ter certas expectativas sobre sua manutenção e ciclo de vida.
- Por serem mais padronizados, eles têm disciplinas mais rígidas em relação à segurança e governança e são monitorados e gerenciados para desempenho e escala.
- Como qualquer outro software de produto, uma API moderna tem seu próprio ciclo de vida de desenvolvimento de software, incluindo design, teste, construção, gerenciamento e lançamento. Além disso, a API moderna está bem documentada para uso e controle de versão.