A palavra API é um acrônimo que significa “Application Programming Interface”. Em português, “Interface de programação de aplicação”. Mas, para a computação, o que isso quer dizer?
Para entender melhor esse conceito, é preciso esmiuçar umas das palavras que o compõe. Interface é uma fronteira que define a comunicação entre dois sistemas. O importante dessa ligação é que as partes não precisam saber do funcionamento da outra, apenas saber como podem a manter essa comunicação.
Então, APIs são um tipo de interface que define como um sistema pode se comunicar com outros, independentemente da linguagem de programação em que cada um deles foi feito e da forma como eles processam suas informações internas. É importante notar que essa interface torna possível não apenas a troca de informações e recursos, mas permite que os sistemas processem parte das informações dos outros com os quais se comunicam.
Agora que já entendemos isso, podemos definir mais uma coisa sobre APIs: elas são feitas por desenvolvedores para desenvolvedores! Isso porque uma API somente é acessível programaticamente, logo um usuário não percebe sua utilização. Para ele, essa interface é totalmente transparente. É como se tudo o que foi realizado pelo sistema a que o usuário tem acesso tivesse sido feito somente por esse conjunto, quando, na verdade, o processamento pode ter sido dividido entre várias partes, através das conexões estabelecidas pelas APIs.
O termo API tem sido muito difundido nos dias de hoje, além de muito requisitado nas descrições de vagas de empregos em tecnologia. Isso faz com que esse conceito pareça algo novo, mas, na verdade, ele é bem antigo. Sistemas operacionais já utilizam esse tipo de interface há muitos anos. Dessa forma, eles podem disponibilizar aos desenvolvedores recursos do próprio sistema operacional e do computador, como o gerenciamento de memória, utilização de impressoras, criação e manipulação de formulários e janelas etc. Essas APIs podem ser tanto consumidas diretamente pelo desenvolvedor como podem estar encapsuladas em frameworks de linguagens de programação.
Mas esse boom de popularidade se deu por causa das APIs disponibilizadas na internet, conhecidas como Web Services. Os Web Services disponibilizam essa comunicação entre sistemas utilizando os protocolos HTTP ou HTTPS. Eles realizam a comunicação de dados via rede de computadores, como a Web, e a transferência de dados via XML e SOAP (mais antigo e menos difundido hoje em dia) ou via JSON com REST (superpop no momento). Mas essa sopa de letrinhas fica para outro artigo, tá?
Legal, já entendemos o que é uma API, mas ter exemplos clareia muito o entendimento, não é verdade? Já notou que em vários blogs e sites temos a possibilidade de curtir e compartilhar aquela publicação em alguma rede social? Ou então criar um cadastro em um site que nada tem a ver com o Facebook usando apenas nossa conta? Todos esses sites não conhecem o código que o Facebook implementa para realizar as publicações ou o seu login, mas conhecem a API que disponibiliza tais ações. O legal disso é que se o Facebook decidir refatorar todo o seu código e mudar a implementação dessas funcionalidades, os sistemas que utilizam as APIs não precisarão ser mudados, afinal essa interface definiu apenas um modelo de comunicação. Então, o que ocorrer da comunicação com a API em diante fica totalmente por conta do responsável por ela.
Outro exemplo legal de APIs é o sistema das maquininhas de pagamento com cartão. O processamento de informações que acontece por trás é muito complexo: ele é dividido em sistemas de várias empresas e em diferentes locais, já que é necessário verificar se o cartão é válido, se o cliente tem saldo, se o comércio que está acionando o pagamento está habilitado corretamente, se a transação tem um perfil de fraude, e muito mais, Todas essas informações são fornecidas ou processadas por players diferentes e nada disso seria possível sem APIs.
Enfim, o assunto APIs é muito amplo, pois elas atendem aos mais diversos cenários e estratégias, como APIs públicas, privadas e mistas. É possível refletir ainda sobre as tecnologias mais adotadas para a construção desse tipo de comunicação, por exemplo, a discussão em torno de como produzir uma API de qualidade. E, agora que você sabe o que é uma API, pode se debruçar sobre esses diferentes ramos do assunto!
Ficou alguma dúvida? Gostou do conteúdo? Deixe nos comentários para que a Programaria saiba!!
Beijos e até mais!
Minibio
Cássia Denyelli Moreira cursa Pós-Graduação em Engenharia da Qualidade de Software pelo Senac, atua com tecnologia desde 2006 e, neste caminho, já desempenhou diversos papéis dentro da área, indo da manutenção de computadores à analista de todos os tipos (de testes, de qualidade, de requisitos, técnico). Mas toda essa volta pelas análises da vida só aconteceu porque ela acreditou que mulher tem mais perfil para isso, ou seja, para o que ela quiser. Como o que realmente gosta é de desenvolver, adotou o lema: “Vai ter mina programando sim!”
Super didática, adorei!