Interface de programação de aplicações

conjunto de rotinas e padrões estabelecidos para o desenvolvimento de software e aplicações

Em ciência da computação, a Interface de Programação de Aplicações (do inglês Application Programming Interface, abreviado API) é um conjunto de serviços/funções que foram implementadas em um programa de computador que são disponibilizados para que outros programas/aplicativos possam utiliza-los diretamente de forma simplificada; sem envolver-se em detalhes da implementação do programa de computador principal (função chamada de encapsulamento, usar as funcionalidades através de um código de programação simplificado).[1]

Diagrama que mostra uma ideia dos participantes de um workshop em 1978 no National Bureau of Standards, onde sugeriram que a API do gerenciamento de banco de dados (SGBD) poderia ser expandida servindo de base a outros tipos de interfaces de banco de dados. Relatório publicado em 1981.

A API permitem utilizar características do software menos evidentes ao utilizador tradicional;[2] por exemplo, um sistema operativo possui uma grande quantidade de funções na API, que permitem ao programador criar janelas, aceder a arquivos, codificar dados. Mas as APIs dos sistemas operativos costumam ser sem associação de tarefas mais essenciais, como a manipulação de blocos de memória e acesso a dispositivos. Essas tarefas são atributos do núcleo de sistema e raramente são programáveis.[3] Outro exemplo são programas de desenho geométrico que possuem uma API específica para criar automaticamente entidades de acordo com padrões definidos pelo utilizador.

Mais recentemente, o uso de API tem-se generalizado na forma de plugins (acessórios opcionais que complementam a funcionalidade de um programa). Os autores do programa principal fornecem uma API específica para que outros autores criem plugins, estendendo as funcionalidades do programa.

Propósito

editar

O propósito das APIs é o de simplificar o desenvolvimento de programas e aplicações, através da abstração dos diversos elementos que compõem um software. Isso permite que o desenvolvedor não precise saber detalhadamente a implementação de todas as partes que compõem um sistema, mas sim, precisará saber como utilizar os serviços fornecidos pelas APIs de seu interesse e como se dará a interação destas com os outros elementos de seu software.

API Web

editar

É um conjunto de interfaces no contexto de desenvolvimento Web. Uma API é um conjunto definido de mensagens de requisição e resposta HTTP, geralmente expresso nos formatos XML ou JSON. A chamada Web 2.0 vem abandonando o modelo de serviços SOAP em favor da técnica REST.

Enquanto você usufrui de um aplicativo ou site, este pode estar conectado a diversos outros sistemas e aplicativos via APIs sem que se perceba. Um exemplo popular é a rede social Twitter,[4] sendo possível ler e publicar mensagens.[5] De maneira semelhante, é possível ler e publicar mensagens no Reddit.[6]

Veja também

editar

Referências

  1. «Application Program Interface». Foldoc. Consultado em 9 de fevereiro de 2011 
  2. «Application Programming Interface». Computerworld. Consultado em 9 de fevereiro de 2011 
  3. «API Overview: Tech Center». NPR. Consultado em 9 de fevereiro de 2011 
  4. API, Twitter, consultado em 19 de maio de 2013, cópia arquivada em 12 de maio de 2013 .
  5. Benslimane, Djamal; Dustdar, Schahram; Sheth, Amit (2008), «Services Mashups: The New Generation of Web Applications» [Mashup de serviços: a nova geração de aplicações na Teia], IEEE, Internet Computing (em inglês), 12 (5) [ligação inativa]
  6. «Reddit API documentation». Reddit. Consultado em 18 de junho de 2020 

Ligações externas

editar
  Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.