Quelle est exactement la signification d'une API? [fermé]

164

J'ai cherché la définition d'une API dans un langage de programmation et j'ai encore du mal à comprendre.

Quelqu'un pourrait-il me conseiller en termes simples et simples:

  1. Qu'est-ce qu'une API?
  2. Comment est-ce utilisé?
  3. Quand et où est-il utilisé?
Derek
la source
7
Avez-vous d'abord essayé FOLDOC? foldoc.org/API Leur définition m'a paru assez "profane".
Ray Toal
@pst J'aurais pris pour acquis que l'OP a déjà regardé Wikipedia parce que qui ne vérifie pas Wikipedia? Sarcasme mal placé sur la possibilité d'utiliser la définition de FOLDOC de 1995 avant de vérifier Wikipedia. Dois-je supprimer le commentaire?
Ray Toal
Si vous cherchez une explication profane, essayez: welcometosoftware.com/what-is-an-api (avertissement: je l'ai écrit)
Sam Malayek

Réponses:

129

Les recherches doivent inclure Wikipedia, ce qui est étonnamment bon pour un certain nombre de concepts / termes de programmation tels que l' interface de programmation d'application :

Qu'est-ce qu'une API?

Une interface de programmation d'application (API) est un ensemble particulier de règles («code») et de spécifications que les programmes logiciels peuvent suivre pour communiquer entre eux . Il sert d'interface entre différents logiciels et facilite leur interaction, de la même manière que l'interface utilisateur facilite l'interaction entre les humains et les ordinateurs.

Comment est-ce utilisé?

De la même manière que tout ensemble de règles est utilisé.

Quand et où est-il utilisé?

Dépend du royaume et de l'API, naturellement. Considérez ceci:

  1. Le jeu d'instructions x86 (IA-32) (très utile ;-)
  2. Un appel d'interruption du BIOS
  3. OpenGL qui est souvent exposé comme une bibliothèque C
  4. Appels système de base de Windows: WinAPI
  5. Les classes et méthodes de la bibliothèque principale de Ruby
  6. Le modèle d'objet de document exposé par les navigateurs à JavaScript
  7. Services Web , tels que ceux fournis par l'API Graph de Facebook
  8. Une implémentation d'un protocole tel que JNI en Java

Bon codage.


la source
4
+1 en appelant "étonnamment bon". Pour l'informatique, Wikipedia est au top. Certains se souviennent peut-être de la comparaison Wikipédia contre Britannica de Nature: '' 'Selon le Wall Street Journal: "[Pays de Galles] dit qu'il était heureux que la nature ait choisi de comparer des thèmes liés à la science" parce que sur l'histoire et les sciences sociales, nous sommes beaucoup plus faible.' Dans d'autres domaines - y compris l'informatique et l'histoire de 'Star Trek', dit-il - Wikipédia est 'bien meilleur.' "'' '(De dailybarometer.com/forum/... )
Ray Toal
2
@ user166390 L'entrée de wikipedia sur l'API est maintenant assez mauvaise ... J'écris des apis et cette entrée m'a en fait dérouté. c'est une bonne chose que vous ayez cité ce que vous avez fait, car cela s'est en quelque sorte bien empiré.
eric
Je veux demander si le fichier php qui est placé dans l'url d'une requête ajax est une API? Ou peut-être que la requête ajax elle-même est déjà une API?
Brownman Revival
Les API sont-elles également utilisées pour l'Internet des objets? Ou comment les appareils IoT envoient et reçoivent des données?
Pathros
57

Une API est l'interface par laquelle vous accédez au code de quelqu'un d'autre ou par laquelle le code de quelqu'un d'autre accède au vôtre. En effet, les méthodes et propriétés publiques.

Klee
la source
4
Cette dernière phrase est remarquable et pourrait être développée ...
tumultous_rooster
45

1) Qu'est-ce qu'une API?

L'API est un contrat. Une promesse d'exécuter les services décrits lorsqu'on leur demande de manière spécifique.

2) Comment est-il utilisé?

Selon les règles spécifiées dans le contrat. L'intérêt d'une API est de définir comment elle est utilisée.

3) Quand et où est-il utilisé?

Il est utilisé lorsque 2 ou plusieurs systèmes séparés doivent travailler ensemble pour réaliser quelque chose qu'ils ne peuvent pas faire seuls.

Agent_L
la source
44

Eh bien, en plus de toutes les réponses, j'ajoute simplement un exemple.

Comme d'autres l'ont dit à API stands for Application Programming Interfacetravers lequel softwares can interact with each other. Remarque, pas une interaction humaine.

Où il est utilisé

Un exemple: vous achetez un article en ligne via votre carte de crédit. Vous fournirez les détails de votre carte de crédit et appuyez sur le bouton «Continuer». Il vous dira si vos informations sont correctes ou non. Pour fournir ces résultats, il y a beaucoup de choses en arrière-plan.

L'application enverra les détails de votre carte de crédit à une application distante qui validera vos informations et renverra le résultat à votre application. L'API est utilisée dans ce scénario.

J'espère que cela aidera les débutants qui ne comprennent pas vraiment ce qu'est l'API.

UN AUTRE EXEMPLE

Application météo

Sans API - L'application Météo doit ouvrir le site weather.com et lire les détails comme le fait un humain.

Avec l'API - l'application Météo enverra un message à weather.com et recevra le résultat, puis l'affichera.

SOURCE - Diverses ressources en ligne

Gibbs
la source
2
Clairement expliqué avec un exemple quotidien Merci tellement sera utile aux fraîches comme moi
sai
alors dans ce cas, l'API est le weather.com qui envoie les données sur mes demandes? ou l'API est mon application qui envoie les demandes, reçoit les données et les affiche d'une manière ou d'une autre? ou l'API est la relation à la fois de weather.com et de mon application?
Paweł
1
@ Paweł API sera l'application qui demande des données
Gibbs
@ Paweł Pensez-y de cette façon: il existe deux interfaces pour une application. Tout d'abord, l'interface utilisateur (interface) pour un utilisateur humain. Deuxièmement, l'API (interface) d'un autre programme d'application. Ainsi, l'API entre l'application météo et weather.com est weather.com.
vpibano
15
  1. une API (Application Programming Interface) est un ensemble de fonctions et de méthodes définies d'interfaçage avec le système d'exploitation sous-jacent ou un autre programme ou service s'exécutant sur l'ordinateur.

  2. Il est généralement utilisé en établissant une référence à une bibliothèque dans votre logiciel ou en important une fonction à partir d'une dll.

  3. Il est utilisé sous une forme ou une autre dans presque tous les logiciels, étant explicitement appelé dans votre programme ou implicitement appelé par le compilateur.

Mark Hall
la source
10

API signifie Application Programming Interface, c'est-à-dire que l'API est le moyen pour une application d'interagir avec certains systèmes / applications / bibliothèques / etc.

Par exemple, il existe des API pour OS (WinAPI), des API pour d'autres applications (comme les bases de données) et pour des bibliothèques spécifiques (par exemple, le traitement d'images), etc.

Les API sont généralement développées sous une forme consommable par une application cliente. Pour les applications C / C ++, il s'agit d'un ensemble de fichiers d'en-tête et de bibliothèques dynamiques / statiques. Pour Java - ensemble de jars. Etc.

chiots
la source
Les API sont-elles également utilisées pour l'Internet des objets? Comment les appareils IoT envoient et reçoivent des données?
Pathros
7

C'est un ensemble de composants logiciels qui interagissent les uns avec les autres. Il fournit un ensemble de fonctions, de variables et de classes d'objets pour la création d'une application, d'un système d'exploitation ou de toute autre chose.

Meghna Sreedhar
la source
6

En termes simples, j'ai toujours dit qu'une API est comme un traducteur entre deux personnes qui parlent des langues différentes. Dans les logiciels, les données peuvent être consommées ou distribuées à l'aide d'une API (ou d'un traducteur) afin que deux types de logiciels différents puissent communiquer. Un bon logiciel a un traducteur puissant (API) qui suit les règles et les protocoles de sécurité et de propreté des données.

Je suis un marketeur, pas un codeur. Tout cela n'est peut-être pas tout à fait exact, mais c'est ce que j'essaye d'exprimer depuis environ 10 ans maintenant ...

Colleen
la source
5

Une API est un ensemble de commandes, de fonctions et de protocoles que les programmeurs peuvent utiliser lors de la création de logiciels pour un système d'exploitation spécifique ou tout autre logiciel. L'API permet aux programmeurs d'utiliser des fonctions prédéfinies pour interagir avec le système d'exploitation, au lieu de les écrire à partir de zéro. Tous les systèmes d'exploitation informatiques, tels que Windows, Unix et Mac OS et des langages tels que Java, fournissent une interface de programme d'application pour les programmeurs.

La source

Abhishek Jaiswal
la source
5

Conaider cette situation:

Mark et Lisa sont secrètement un couple, et en raison de la différence d'âge, ils ne sont pas autorisés à être ensemble. Mark et Lisa se rencontrent tous les soirs quand personne ne regarde. Ils ont établi leur propre ensemble de règles sur la manière de communiquer le moment venu. Il se tient dans son jardin et jette la petite pierre à sa fenêtre. Lisa sait qu'il est temps, et répond en agitant la fenêtre et en l'ouvrant par la suite pour que Mark puisse y entrer. C'était un exemple du fonctionnement de l'API. Le rocher est une demande initiale à une autre fin. Une autre vague de fin, ouvre la fenêtre qui signifie essentiellement "Bienvenue!".

L'API est presque comme le langage humain mais pour les ordinateurs.

xZéro
la source
3

Une API définit les interfaces par lesquelles un logiciel communique avec un autre au niveau source. Il fournit une abstraction en fournissant un ensemble standard d'interfaces - généralement des fonctions - qu'un logiciel (généralement un élément de niveau supérieur) peut invoquer à partir d'un autre logiciel (généralement un élément de niveau inférieur).

Par exemple, une API peut résumer le concept de dessin de texte à l'écran grâce à une famille de fonctions qui fournissent tout le nécessaire pour dessiner le texte. L'API définit simplement l'interface; le logiciel qui fournit réellement l'API est connu sous le nom d'implémentation de l'API.

Il est courant d'appeler une API un «contrat». Ce n'est pas correct, du moins au sens juridique du terme, car une API n'est pas un accord à double sens. L'utilisateur de l'API (généralement, le logiciel de niveau supérieur) n'a aucune entrée dans l'API et sa mise en œuvre. Il peut utiliser l'API telle quelle, ou ne pas l'utiliser du tout: prenez-la ou laissez-la!

Les interfaces définies par le standard C et implémentées par la bibliothèque C standard sont un exemple concret d'API. Cette API définit une famille de fonctions de base et essentielles, telles que la gestion de la mémoire et les routines de manipulation de chaînes.

Koray Tugay
la source
0

Disons que vous développez un jeu et que vous voulez que l'utilisateur du jeu se connecte à son profil Facebook (pour obtenir les informations de votre profil) avant de le jouer, alors comment votre jeu va-t-il accéder à Facebook? Maintenant, voici l'API.Facebook a déjà écrit le programme (API) pour que vous le fassiez, vous devez simplement utiliser ces programmes dans votre application de jeu.En utilisant Facebook-API, vous pouvez utiliser leurs services dans votre application.Voici un bon et un aperçu détaillé sur l'API ... http://money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing1.htm

Amit chaudhary
la source
3
Et vous n'avez pas vraiment dit DE QUOI s'agit-il ...:} Et ce n'est plus comme un programme, mais juste une interface. La façon de traiter un programme.
Kamiccolo
-1

L'interface de programme d'application (API) est un ensemble de routines, de protocoles et d'outils pour la création d'applications logicielles. Une API spécifie comment les composants logiciels doivent interagir et les API sont utilisées lors de la programmation des composants d'interface utilisateur graphique (GUI). Une bonne API facilite le développement d'un programme en fournissant tous les éléments de base. Un programmeur assemble ensuite les blocs.

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

Charlston Mabini Vita
la source