HDG explica: O que é uma API?

Em uma internet cheia de siglas confusas e desconhecidas(confusing and unfamiliar acronyms) , pode ser fácil ficar confuso. Um acrônimo da web que você pode ter ouvido, mas nunca se sentiu inspirado a pesquisar é “API”.

O que é uma API ? API é um acrônimo para interface de programação de aplicativos( application programming interface) e é um nome para um conjunto de rotinas e protocolos que facilitam muito o processo de construção de aplicativos de software.

Uma maneira simples de ver uma API é como um roteiro que informa aos componentes de um software como interagir. Sem o uso de uma API , o código-fonte pode parecer uma bagunça confusa.

No entanto, as APIs são complexas e exigem mais do que um breve resumo. Neste artigo, vamos ver como as APIs funcionam e quais sites e serviços as usam.

O que é uma API e como ela funciona?(What Is An API and How Does It Work?)

Agora que estabelecemos que uma API é um conjunto de rotinas que apontam o software na direção certa, como exatamente isso tudo funciona?

A melhor maneira de explicar a funcionalidade principal de uma API é fornecer um exemplo do mundo real. Os serviços de entrega de comida(Food) , como o GrubHub , são incrivelmente populares no momento, então vamos discutir como o código por trás de aplicativos móveis como esses pode funcionar.

Ao pesquisar um restaurante ou item de comida em um desses aplicativos, você recebe resultados relevantes com base em suas palavras-chave e localização. Ao selecionar um resultado, você verá opções de alimentos, prazos de entrega e mais opções específicas de restaurantes.

Para agendar sua entrega, deve ocorrer uma conexão entre o site de entrega e um banco de dados, sendo o site o front-end e o banco de dados o back-end. O banco de dados é o que armazena os dados de todos esses restaurantes, sua disponibilidade por local, horário de funcionamento, cardápios e muito mais.

A API é a conexão entre esse banco de dados e o site ou aplicativo que está apresentando seus dados. É importante que uma API esteja presente para criar essa conexão, em vez de usar dados codificados, principalmente devido à popularidade das integrações de terceiros. 

Por exemplo, seria benéfico para um site se agregadores de terceiros pudessem listar e organizar todos os restaurantes e itens disponíveis, certo? Sem uma API , isso não seria possível sem o uso de técnicas ineficientes de web-scraping.

A API é a interface responsável por entregar os dados do banco de dados para o aplicativo, seja um site, aplicativo móvel ou qualquer outro. As APIs(APIs) se tornaram a maneira padrão de acessar e comunicar dados de aplicativos na Web, e todos os principais sites ou serviços que dependem de conectividade de terceiros se beneficiam muito ao fornecer uma.

Que tipos de APIs existem?(What Types Of APIs Are There?)

Existem vários tipos diferentes de protocolos de API , mas os três mais populares são SOAP ( Simple Object Access Protocol ), REST ( Representational State Transfer ) e RPC ( Remote Procedure Call ).

APIs SOAP(SOAP APIs)

O SOAP(SOAP) foi introduzido pela primeira vez no final da década de 1990 e permitiu que os aplicativos compartilhassem recursos de maneira simples por meio de conexões de rede. O SOAP(SOAP) depende de protocolos padrão, como HTTP e SMTP , que permitem que ele seja usado em praticamente todos os ambientes devido à popularidade de tais protocolos.

Sua principal força é que é amplamente utilizado e estabelecido. Se não está quebrado, não conserte.

APIs REST(REST APIs)

REST foi introduzido em 2000 por Roy Fielding . Seu objetivo imediato era agir como uma resposta a muitos dos problemas que foram criados pela ampla adoção do SOAP .

Semelhante ao SOAP , o REST depende do HTTP para transferir informações entre aplicativos. No entanto, uma grande diferença que o diferencia do SOAP , que exige que os dados sejam transmitidos por meio do formato de dados XML , é que ele suporta JSON . JSON é um formato de dados que muitos concordam ser mais fácil de ler e escrever. Além disso, as APIs REST(REST APIs) podem armazenar dados em cache, permitindo um desempenho muito melhor.

REST agora responde por mais de 80% de todas as APIs , de acordo com um relatório de 2017 da Cloud Elements .

APIs RPC(RPC APIs)

As APIs RPC(RPC APIs) vêm em muitos sabores, mas como aprendemos com as APIs REST(REST APIs) , JSON é um formato de dados muito popular, então JSON-RPC é o mais popular.

JSON-RPC é um protocolo mais adequado para minimalistas e usuários que confiam na simplicidade de sua API . Seu escopo é muito mais restrito quando comparado ao SOAP e REST , e é muito limitado em sua flexibilidade e conjunto de comandos, mas para alguns desenvolvedores, menos é mais.

Existem outros tipos de API baseados em RPC , como gRPC, mas JSON-RPC é o ideal se sua prioridade for a simplicidade de implementação.

Quem usa APIs?(Who Uses APIs?)

Desenvolvedores de qualquer tipo, seja frontend ou backend, devem ter experiência em trabalhar com APIs . Em termos de sites ou serviços da web, praticamente todos os principais players têm algum tipo de API disponível – o mais óbvio é o Windows(Windows) .

Com o Microsoft Windows(Microsoft Windows) sendo o sistema operacional mais popular do planeta, é natural que os desenvolvedores de aplicativos precisem de um conjunto de diretrizes sobre como interagir com sua interface do usuário. Sem acesso à API do Windows(Windows API) , programar um aplicativo que depende muito da interação com o sistema operacional seria uma grande dor de cabeça.

Existem milhares de APIs por aí, algumas gratuitas e outras pagas. Aqui estão apenas alguns exemplos que vale a pena analisar:

As APIs(APIs) são um dos principais conectores por trás de alguns dos maiores e mais importantes sites e aplicativos da web. Embora o usuário médio não consiga ver o benefício que as APIs oferecem, elas são uma dádiva de Deus para desenvolvedores e serviços da web.



About the author

Sou técnico em informática e tenho mais de 10 anos de experiência na área. Eu me especializei no desenvolvimento do Windows 7 e Windows Apps, bem como no design de Cool Websites. Sou extremamente conhecedor e experiente na área, e seria um ativo valioso para qualquer organização que queira expandir seus negócios.



Related posts