Qual é exatamente o significado de uma API? [fechadas]

164

Eu procurei a definição de uma API em uma linguagem de programação e ainda acho difícil de entender.

Alguém poderia me aconselhar em termos simples e leigos:

  1. O que é uma API?
  2. Como isso é usado?
  3. Quando e onde é usado?
Derek
fonte
7
Você experimentou o FOLDOC primeiro? foldoc.org/API A definição deles parecia bastante "leiga" para mim.
quer
@pst Eu teria como certo que o OP já olhou para a Wikipedia porque quem não verifica a Wikipedia? Sarcasmo equivocado sobre a possibilidade de usar a definição do FOLDOC de 1995 antes de verificar a Wikipedia. Devo excluir o comentário?
Ray Toal
Se você está procurando uma explicação para um leigo, tente: welcometosoftware.com/what-is-an-api (isenção de responsabilidade: escrevi)
Sam Malayek

Respostas:

129

As pesquisas devem incluir a Wikipedia, que é surpreendentemente boa para vários conceitos / termos de programação, como Application Programming Interface :

O que é uma API?

Uma interface de programação de aplicativos (API) é um conjunto específico de regras ('código') e especificações que os programas de software podem seguir para se comunicar . Ele serve como uma interface entre diferentes programas de software e facilita sua interação, semelhante à maneira como a interface do usuário facilita a interação entre humanos e computadores.

Como isso é usado?

Da mesma forma que qualquer conjunto de regras é usado.

Quando e onde é usado?

Depende do domínio e da API, naturalmente. Considere estes:

  1. O conjunto de instruções do x86 (IA-32) (muito útil ;-)
  2. Uma chamada de interrupção do BIOS
  3. OpenGL que é frequentemente exposto como uma biblioteca C
  4. Chamadas principais do sistema Windows: WinAPI
  5. As classes e métodos na biblioteca principal do Ruby
  6. O Modelo de Objeto de Documento exposto pelos navegadores ao JavaScript
  7. Serviços da Web , como os fornecidos pela API Graph do Facebook
  8. Uma implementação de um protocolo como JNI em Java

Feliz codificação.


fonte
4
+1 em chamar "surpreendentemente bom". Para a computação, a Wikipedia é top. Alguns podem se lembrar da comparação entre Wikipedia e Britannica da Nature: '' 'De acordo com o Wall Street Journal: "[Wales] diz que estava feliz por a Nature ter escolhido comparar temas relacionados à ciência' porque na história e nas ciências sociais, somos muito mais fraco. Em outras áreas - incluindo ciência da computação e a história de 'Star Trek' - ele diz - a Wikipedia é 'muito melhor'. '' '' (De dailybarometer.com/forum/… )
Ray Toal,
2
@ user166390 A entrada da wikipedia na API agora está muito ruim ... Eu escrevo APIs e essa entrada realmente me confundiu. Ainda bem que você citou o que fez, pois de alguma forma ficou muito pior aparentemente.
22614 eric
Eu quero perguntar é o arquivo php que é colocado no URL de um pedido de ajax uma API? Ou talvez a solicitação de ajax já é uma API?
Brownman Revival
As APIs também são usadas para a Internet das Coisas? Ou como os dispositivos IoT enviam e recebem dados?
Pathros
57

Uma API é a interface através da qual você acessa o código de outra pessoa ou através da qual o código de outra pessoa acessa o seu. Com efeito, os métodos e propriedades públicos.

Klee
fonte
4
Essa última frase é digna de nota e pode ser expandida em ... #
558
45

1) O que é uma API?

API é um contrato. Promessa de executar serviços descritos quando solicitado de maneiras específicas.

2) Como é usado?

De acordo com as regras especificadas no contrato. O objetivo de uma API é definir como ela é usada.

3) Quando e onde é usado?

É usado quando 2 ou mais sistemas separados precisam trabalhar juntos para alcançar algo que não podem fazer sozinhos.

Agent_L
fonte
44

Bem, além de todas as respostas, estou apenas adicionando um exemplo.

Como outros disseram API stands for Application Programming Interfaceatravés do qual softwares can interact with each other. Note, não uma interação humana.

Onde é usado

Um exemplo: você está comprando um item on-line através do seu cartão de crédito. Você fornecerá os detalhes do cartão de crédito e pressione o botão 'continuar'. Ele informará se suas informações estão corretas ou não. Para fornecer esses resultados, há muitas coisas em segundo plano.

O aplicativo enviará os detalhes do seu cartão de crédito para um aplicativo remoto que validará suas informações e enviará o resultado de volta ao seu aplicativo. API é usada neste cenário.

Espero que ajude os iniciantes que não entendem realmente o que é API.

OUTRO EXEMPLO

Aplicação meteorológica

Sem a API - o aplicativo Weather deve abrir o site weather.com e ler os detalhes como um ser humano faz.

Com a API - o aplicativo Weather envia uma mensagem para weather.com, recebe o resultado e depois o exibe.

FONTE - Vários recursos online

Gibbs
fonte
2
Claramente explicado com o exemplo diária Thanku tanto será útil para freshers como eu
sai
portanto, nesse caso, a API é o weather.com que envia os dados em minhas solicitações? ou a API é meu aplicativo que envia as solicitações, recebe os dados e os exibe de alguma forma? ou a API é a relação do weather.com e meu aplicativo?
Paweł
1
A API do @ Paweł será o aplicativo que solicitará os dados
Gibbs
@ Paweł Pense desta maneira: existem duas interfaces para um aplicativo. Primeiro, a interface do usuário (interface) para um usuário humano. Segundo, é a API (interface) para outro programa de aplicativo. Portanto, a API entre o aplicativo meteorológico e weather.com é weather.com.
Vpibano
15
  1. uma API (Application Programming Interface) é um conjunto de funções e métodos definidos para fazer interface com o sistema operacional subjacente ou outro programa ou serviço em execução no computador.

  2. Geralmente é usado estabelecendo uma referência a uma biblioteca no seu software ou importando uma função de uma dll.

  3. É usado de uma forma ou de outra em quase todos os softwares, sendo explicitamente chamado em seu programa ou implicitamente chamado pelo compilador.

Mark Hall
fonte
10

API significa Application Programming Interface, ou seja, API é o caminho para um aplicativo interagir com determinado sistema / aplicativo / biblioteca / etc.

Por exemplo, existem APIs para SO (WinAPI), APIs para outros aplicativos (como bancos de dados) e bibliotecas específicas (por exemplo, processamento de imagens), etc.

As APIs geralmente são desenvolvidas em um formulário consumível por um aplicativo cliente. Para aplicativos C / C ++, é um conjunto de arquivos de cabeçalho e bibliotecas dinâmicas / estáticas. Para Java - conjunto de frascos. E assim por diante.

pupssman
fonte
As APIs também são usadas para a Internet das Coisas? Como os dispositivos IoT enviam e recebem dados?
Pathros
7

É um conjunto de componentes de software que interagem entre si. Ele fornece um conjunto de funções, variáveis ​​e classes de objetos para a criação de um aplicativo, sistema operacional ou qualquer outra coisa.

Meghna Sreedhar
fonte
6

Em termos leigos, eu sempre disse que uma API é como um tradutor entre duas pessoas que falam idiomas diferentes. No software, os dados podem ser consumidos ou distribuídos usando uma API (ou tradutor) para que dois tipos diferentes de software possam se comunicar. Um bom software possui um forte tradutor (API) que segue regras e protocolos de segurança e limpeza de dados.

Eu sou um profissional de marketing, não um codificador. Isso tudo pode não estar certo, mas é o que eu tenho tentado expressar há cerca de 10 anos ...

Colleen
fonte
5

Uma API é um conjunto de comandos, funções e protocolos que os programadores podem usar ao criar software para um SO específico ou qualquer outro software. A API permite que os programadores usem funções predefinidas para interagir com o sistema operacional, em vez de escrevê-las do zero. Todos os sistemas operacionais de computador, como Windows, Unix e Mac OS e idiomas como Java, fornecem uma interface de programa de aplicativo para programadores.

Fonte

Abhishek Jaiswal
fonte
5

Considere esta situação:

Mark e Lisa são secretamente um casal e, devido à diferença de idade, eles não podem ficar juntos. Mark e Lisa se encontram todas as noites quando ninguém está assistindo. Eles estabeleceram seu próprio conjunto de regras sobre como se comunicar quando chegar a hora. Ele fica no jardim dela e joga a pequena pedra na janela dela. Lisa sabe que é hora, e responde acenando pela janela e abrindo-a depois para que Mark possa entrar. Esse foi o exemplo de como a API funciona. A rocha é o pedido inicial para outro fim. Outra onda final abre a janela, que basicamente significa "Bem-vindo!".

API é quase como linguagem humana, mas para computadores.

xZero
fonte
3

Uma API define as interfaces pelas quais um software se comunica com outro no nível de origem. Ele fornece abstração ao fornecer um conjunto padrão de interfaces - geralmente funções - que um software (normalmente um nível superior) pode chamar de outro software (geralmente um nível inferior).

Por exemplo, uma API pode abstrair o conceito de desenhar texto na tela através de uma família de funções que fornecem tudo o que é necessário para desenhar o texto. A API apenas define a interface; o software que realmente fornece a API é conhecido como a implementação da API.

É comum chamar uma API de "contrato". Isso não está correto, pelo menos no sentido legal do termo, pois uma API não é um contrato de mão dupla. O usuário da API (geralmente, o software de nível superior) tem zero entrada na API e sua implementação. Pode usar a API como está, ou não usá-la: pegue ou largue!

Um exemplo real de uma API são as interfaces definidas pelo padrão C e implementadas pela biblioteca C padrão. Essa API define uma família de funções básicas e essenciais, como gerenciamento de memória e rotinas de manipulação de strings.

Koray Tugay
fonte
0

Digamos que você esteja desenvolvendo um jogo e deseja que o usuário faça o login no perfil do facebook (para obter as informações do perfil) antes de jogá-lo, então como seu jogo acessará o facebook? Agora, aqui está a API. O Facebook já escreveu o programa (API) para você fazê-lo, basta usar esses programas em seu aplicativo de jogo. Usando a API do Facebook, você pode usar os serviços deles em seu aplicativo. e visualização detalhada da API ... http://money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing1.htm

Amit chaudhary
fonte
3
E você não disse O QUE É ...:} E não é mais como um programa, mas apenas uma interface. A maneira de lidar com algum programa.
Kamiccolo
-1

A API (Application Program Interface) é um conjunto de rotinas, protocolos e ferramentas para a criação de aplicativos de software. Uma API especifica como os componentes de software devem interagir e as APIs são usadas ao programar componentes da interface gráfica do usuário (GUI). Uma boa API facilita o desenvolvimento de um programa, fornecendo todos os componentes. Um programador então junta os blocos.

fonte: http://www.webopedia.com/TERM/A/API.html

Charlston Mabini Vita
fonte