Criar APIs para vocĂȘ e para mim
Objetivos de aprendizagem
ApĂłs concluir esta unidade, vocĂȘ estarĂĄ apto a:
- Definir e descrever uma API.
- Nomear usos comuns de APIs.
A tecnologia tornou-se parte de todos os aspectos das nossas vidas e a conectividade tornou-se um pilar da Quarta Revolução Industrial. Estamos todos ligados de alguma forma.
- Por meio de nossos celulares quando procuramos avaliaçÔes de restaurantes próximos no Yelp.
- Por meio de sites de reservas de viagens com acesso a todos os voos e hotĂ©is disponĂveis.
- AtĂ© mesmo eletrodomĂ©sticos sĂŁo capazes de reabastecer suprimentos; por exemplo, encomendar pipoca de micro-ondas diretamente de um forno de micro-ondas AmazonBasics compatĂvel com Alexa.
VocĂȘ jĂĄ se perguntou como isso funciona?
Durante dĂ©cadas, a maioria dos programas de computador foi criada e distribuĂda com um tipo de usuĂĄrio em mente: um humano. NĂŁo importa a sucessĂŁo de eventos que tenha ocorrido nos bastidores do software, um usuĂĄrio humano estava tradicionalmente no final dela. Por conta disso, o usuĂĄrio sĂł era capaz de acessar os dados por meio de uma interface de usuĂĄrio (IU).
Mas e se esses mesmos dados pudessem ser facilmente acessados por outro software? Por exemplo, seu smartwatch compartilha o nĂșmero de etapas que vocĂȘ estĂĄ executando com um serviço de grĂĄficos de desempenho na Web ou com o sistema de registros eletrĂŽnicos de saĂșde (EHR) usado pelo mĂ©dico ao qual vocĂȘ pediu ajuda para melhorar sua forma fĂsica. Nesse caso, as preocupaçÔes em relação Ă IU sĂŁo muito diferentes. Afinal, o software nĂŁo tem olhos, emoçÔes ou intuição; ele nĂŁo precisa de uma interface grĂĄfica de usuĂĄrio exagerada. No entanto, da mesma forma que uma IU Ă© feita sob medida para humanos, o software precisa de uma interface que facilite a obtenção de dados ou funcionalidades de outros softwares.
Ă aqui que entram as interfaces de programação de aplicativos, tambĂ©m conhecidas como APIs. Quando aplicativos, dados ou dispositivos compartilham dados ou funcionalidades em algum contexto criado com uma finalidade (como visualizar dados de condicionamento fĂsico), as APIs ficam nos bastidores e sĂŁo responsĂĄveis pela conectividade que ocorre nesse contexto.
O que Ă© uma API?
Uma API Ă© equivalente a uma interface de usuĂĄrio, exceto que Ă© projetada para software em vez de humanos. Ă por isso que as APIs sĂŁo frequentemente descritas na mĂdia como tecnologia que permite que os aplicativos falem uns com os outros.
O cliente envia uma solicitação de informação ou funcionalidade especĂfica para outro sistema. Esse sistema retorna os dados ou a funcionalidade em uma resposta. Para enviar ou receber dados, hĂĄ uma expectativa de que estejam em um formato especĂfico que ambos possam entender. Esse formato geralmente Ă© muito sensĂvel ao contexto que ele atende. Vamos analisar mais detalhadamente.
A dona de uma academia local quer conectar o seu novo equipamento de ginåstica no novo endereço da academia. Ela sabe que, como vive na América do Norte, precisa de uma tomada americana para isso. Ela também sabe que as tomadas de parede fornecem 120 volts de energia. Essas diretrizes conhecidas essencialmente definem uma expectativa para qualquer dispositivo que precise ser conectado à parede.
As APIs funcionam de uma forma semelhante.
APIs: a corrente elétrica entre softwares
Mas o que Ă© que as tomadas de parede tĂȘm a ver com APIs, se Ă© que tĂȘm?
Pense nisso desta forma:
- A corrente que vem da parede é um serviço. Ela pode parar e começar a qualquer momento.
- A esteira conectada Ă parede utiliza energia para funcionar.
- Como a esteira não tem sua própria fonte de energia, ela terceiriza a energia necessåria do provedor de serviços, por exemplo, de moinhos de vento ou energia solar.
Embora as tomadas elĂ©tricas sejam diferentes dependendo de onde vocĂȘ estĂĄ no mundo, elas tĂȘm padrĂ”es de encaixe previsĂveis, e as tomadas conectadas a dispositivos como esteiras foram projetadas para atender a esses padrĂ”es.
Todas essas especificaçÔes essencialmente definem as expectativas de qualquer dispositivo que queira usar o serviço. As tomadas e as fontes de alimentação estão em conformidade com os padrÔes e as especificaçÔes (como 120 volts) do serviço. O mesmo se aplica às APIs.
Como as tomadas elĂ©tricas padronizadas, as APIs oferecem padrĂ”es semelhantes que facilitam a troca de dados e funcionalidades entre outros softwares. Qualquer software que precise enviar ou receber dados deve aderir a essas especificaçÔes para fazer uma solicitação. As APIs possibilitam a conexĂŁo de processos existentes (como a experiĂȘncia do cliente) a novos dados e funcionalidades.