Você provavelmente já viu o termo “API” surgir. Sistema operacional, navegador da web e atualizações de aplicativos geralmente anunciam novas APIs para desenvolvedores. Mas o que é uma API?
Índice
Interface de programação de aplicativo
O termo API é um acrônimo e significa “Interface de programação de aplicativo”.
Pense em uma API como um menu em um restaurante. O menu oferece uma lista de pratos que você pode pedir, junto com uma descrição de cada prato. Quando você especifica quais itens de menu deseja, a cozinha do restaurante faz o trabalho e fornece alguns pratos prontos. Você não sabe exatamente como o restaurante prepara aquela comida, e você realmente não precisa.
Da mesma forma, uma API lista uma série de operações que os desenvolvedores podem usar, junto com uma descrição do que eles fazem. O desenvolvedor não precisa necessariamente saber como, por exemplo, um sistema operacional é construído e apresenta uma caixa de diálogo “Salvar como”. Eles só precisam saber se ele está disponível para uso em seu aplicativo.
Esta não é uma metáfora perfeita, já que os desenvolvedores podem ter que fornecer seus próprios dados para a API para obter os resultados, então talvez seja mais como um restaurante chique onde você pode fornecer alguns de seus próprios ingredientes com os quais a cozinha funcionará.
Mas é amplamente preciso. As APIs permitem que os desenvolvedores economizem tempo, aproveitando a implementação de uma plataforma para fazer o trabalho básico. Isso ajuda a reduzir a quantidade de código que os desenvolvedores precisam criar e também ajuda a criar mais consistência entre aplicativos para a mesma plataforma. APIs podem controlar o acesso a recursos de hardware e software.
APIs tornam a vida mais fácil para os desenvolvedores
Digamos que você queira desenvolver um aplicativo para iPhone. O sistema operacional iOS da Apple fornece um grande número de APIs – como qualquer outro sistema operacional – para tornar isso mais fácil para você.
Se você deseja incorporar um navegador da web para mostrar uma ou mais páginas da web, por exemplo, você não precisa programar seu próprio navegador desde o início apenas para o seu aplicativo. Use a API WKWebView para incorporar um objeto de navegador WebKit (Safari) em seu aplicativo.
Se você deseja capturar fotos ou vídeo da câmera do iPhone, não precisa escrever sua própria interface de câmera. Use a API da câmera para incorporar a câmera embutida do iPhone em seu aplicativo. Se APIs não existissem para tornar isso fácil, os desenvolvedores de aplicativos teriam que criar seu próprio software de câmera e interpretar as entradas do hardware da câmera. Mas os desenvolvedores de sistema operacional da Apple fizeram todo esse trabalho árduo para que possam usar a API da câmera para incorporar uma câmera e, em seguida, continuar com a construção de seu aplicativo. E, quando a Apple melhorar a API da câmera, todos os aplicativos que dependem dela tirarão vantagem dessa melhoria automaticamente.
Isso se aplica a todas as plataformas. Por exemplo, você deseja criar uma caixa de diálogo no Windows? Existe uma API para isso . Quer oferecer suporte à autenticação de impressão digital no Android? Há uma API para isso também, então você não precisa testar os sensores de impressão digital de cada fabricante do Android. Os desenvolvedores não precisam reinventar a roda continuamente.
Acesso de controle de APIs a recursos
As APIs também são usadas para controlar o acesso a dispositivos de hardware e funções de software que um aplicativo pode não necessariamente ter permissão para usar. É por isso que as APIs geralmente desempenham um grande papel na segurança.
Por exemplo, se você já visitou um site e viu uma mensagem em seu navegador de que o site está solicitando sua localização precisa , esse site está tentando usar a API de geolocalização em seu navegador. Os navegadores da web expõem APIs como essa para tornar mais fácil para os desenvolvedores da web acessarem sua localização – eles podem apenas perguntar “onde você está?” e o navegador faz o trabalho difícil de acessar o GPS ou redes Wi-Fi próximas para encontrar sua localização física.
No entanto, os navegadores também expõem essas informações por meio de uma API porque é possível controlar o acesso a ela. Quando um site deseja acessar sua localização física exata, a única maneira de obtê-lo é por meio da API de localização. E, quando um site tenta usá-lo, você – o usuário – pode optar por permitir ou negar essa solicitação. A única maneira de acessar recursos de hardware, como o sensor GPS, é por meio da API, para que o navegador possa controlar o acesso ao hardware e limitar o que os aplicativos podem fazer.
Este mesmo princípio é usado em sistemas operacionais móveis modernos como iOS e Android, onde os aplicativos móveis têm permissões que podem ser aplicadas controlando o acesso às APIs. Por exemplo, se um desenvolvedor tentar acessar a câmera por meio da API da câmera, você pode negar a solicitação de permissão e o aplicativo não terá como acessar a câmera do seu dispositivo.
Os sistemas de arquivos que usam permissões – como fazem no Windows, Mac e Linux – têm essas permissões aplicadas pela API do sistema de arquivos. Um aplicativo típico não tem acesso direto ao disco rígido físico bruto. Em vez disso, o aplicativo deve acessar os arquivos por meio de uma API.
APIs são usadas para comunicação entre serviços
As APIs também são usadas por todos os outros motivos. Por exemplo, se você já viu um objeto do Google Maps incorporado em um site, esse site está usando a API do Google Maps para incorporar esse mapa. O Google expõe APIs como essa para desenvolvedores da web, que podem usar as APIs para inserir objetos complexos diretamente em seus sites. Se APIs como essa não existissem, os desenvolvedores talvez precisassem criar seus próprios mapas e fornecer seus próprios dados de mapa apenas para colocar um pequeno mapa interativo em um site.
E, por ser uma API, o Google pode controlar o acesso ao Google Maps em sites de terceiros, garantindo que eles o usem de maneira consistente, em vez de tentar incorporar de forma desordenada um quadro que mostra o site do Google Maps, por exemplo.
Isso se aplica a muitos serviços online diferentes. Existem APIs para solicitar tradução de texto do Google Translate ou incorporar comentários do Facebook ou tweets do Twitter em um site.
O padrão OAuth também define uma série de APIs que permitem que você entre em um site com outro serviço – por exemplo, para usar suas contas do Facebook, Google ou Twitter para entrar em um novo site sem criar uma nova conta de usuário apenas para esse site . APIs são contratos padrão que definem como os desenvolvedores se comunicam com um serviço e o tipo de saída que esses desenvolvedores devem esperar receber de volta.
Se você já passou por isso, terá uma ideia melhor do que é uma API. Em última análise, você realmente não precisa saber o que é uma API, a menos que seja um desenvolvedor. Mas, se você perceber que uma plataforma de software ou serviço adicionou novas APIs para vários hardwares ou serviços, deve ser mais fácil para os desenvolvedores aproveitarem esses recursos.
Crédito de imagem: patpitchaya /Shutterstock.com.