Was genau bedeutet eine API? [geschlossen]

164

Ich habe nach der Definition einer API in einer Programmiersprache gesucht und finde es immer noch schwer zu verstehen.

Könnte mich jemand in einfachen Laienbegriffen beraten:

  1. Was ist eine API?
  2. Wie wird es benutzt?
  3. Wann und wo wird es eingesetzt?
Derek
quelle
7
Haben Sie zuerst FOLDOC ausprobiert? foldoc.org/API Ihre Definition schien mir ziemlich "Laie" zu sein.
Ray Toal
@pst Ich hätte es als selbstverständlich angesehen, dass das OP Wikipedia bereits angeschaut hat, denn wer überprüft Wikipedia nicht? Falscher Sarkasmus über die Möglichkeit, die Definition von FOLDOC von 1995 zu verwenden, bevor Wikipedia überprüft wird. Soll ich den Kommentar löschen?
Ray Toal
Wenn Sie nach einer Erklärung für Laien suchen, versuchen Sie: welcometosoftware.com/what-is-an-api (Haftungsausschluss: Ich habe es geschrieben)
Sam Malayek

Antworten:

129

Die Suche sollte Wikipedia enthalten, was für eine Reihe von Programmierkonzepten / -begriffen wie Application Programming Interface überraschend gut ist :

Was ist eine API?

Eine Anwendungsprogrammierschnittstelle (API) ist ein bestimmter Satz von Regeln ('Code') und Spezifikationen, denen Softwareprogramme folgen können, um miteinander zu kommunizieren . Es dient als Schnittstelle zwischen verschiedenen Softwareprogrammen und erleichtert deren Interaktion, ähnlich wie die Benutzeroberfläche die Interaktion zwischen Mensch und Computer erleichtert.

Wie wird es benutzt?

Auf die gleiche Weise werden alle Regeln verwendet.

Wann und wo wird es eingesetzt?

Kommt natürlich auf Realm und API an. Betrachten Sie diese:

  1. Der x86 (IA-32) Befehlssatz (sehr nützlich ;-)
  2. Ein BIOS-Interrupt-Aufruf
  3. OpenGL, das häufig als C-Bibliothek verfügbar gemacht wird
  4. Kernaufrufe des Windows-Systems: WinAPI
  5. Die Klassen und Methoden in Rubys Kernbibliothek
  6. Das Dokumentobjektmodell, das von Browsern für JavaScript verfügbar gemacht wird
  7. Webdienste , wie sie beispielsweise von der Graph API von Facebook bereitgestellt werden
  8. Eine Implementierung eines Protokolls wie JNI in Java

Viel Spaß beim Codieren.


quelle
4
+1 beim Ruf "überraschend gut". Für das Rechnen ist Wikipedia die Spitze. Einige erinnern sich vielleicht an den Vergleich von Wikipedia und Britannica durch die Natur: "Laut dem Wall Street Journal:" [Wales] war er froh, dass die Natur sich entschieden hat, wissenschaftsbezogene Themen zu vergleichen, weil wir in Bezug auf Geschichte und Sozialwissenschaften viel sind schwächer. ' In anderen Bereichen - einschließlich der Informatik und der Geschichte von "Star Trek", sagt er - ist Wikipedia "viel besser". "(Von dailybarometer.com/forum/… )
Ray Toal
2
@ user166390 wikipedia Eintrag auf API ist jetzt ziemlich schlecht ... Ich schreibe API und dieser Eintrag hat mich tatsächlich verwirrt. Gut, dass Sie zitiert haben, was Sie getan haben, da es anscheinend irgendwie viel schlimmer geworden ist.
Eric
Ich möchte fragen, ob die PHP-Datei, die in die URL einer Ajax-Anfrage eingefügt wird, eine API ist oder ob die Ajax-Anfrage selbst bereits eine API ist.
Brownman Revival
Werden APIs auch für das Internet der Dinge verwendet? Oder wie senden und empfangen IoT-Geräte Daten?
Pathros
57

Eine API ist die Schnittstelle, über die Sie auf anderen Code zugreifen oder über die der Code eines anderen auf Ihren Code zugreift. In der Tat die öffentlichen Methoden und Eigenschaften.

Klee
quelle
4
Dieser letzte Satz ist bemerkenswert und könnte erweitert werden auf ...
tumultous_rooster
45

1) Was ist eine API?

API ist ein Vertrag. Ein Versprechen, beschriebene Dienstleistungen auf bestimmte Weise zu erbringen.

2) Wie wird es verwendet?

Nach den im Vertrag festgelegten Regeln. Der Sinn einer API besteht darin, zu definieren, wie sie verwendet wird.

3) Wann und wo wird es verwendet?

Es wird verwendet, wenn zwei oder mehr separate Systeme zusammenarbeiten müssen, um etwas zu erreichen, das sie nicht alleine erreichen können.

Agent_L
quelle
44

Nun, zusätzlich zu allen Antworten füge ich nur ein Beispiel hinzu.

Wie andere sagten API stands for Application Programming Interfacedurch welche softwares can interact with each other. Beachten Sie, keine menschliche Interaktion.

Wo es verwendet wird

Ein Beispiel: Sie kaufen einen Artikel online über Ihre Kreditkarte. Sie geben Ihre Kreditkartendaten an und klicken auf "Weiter". Hier erfahren Sie, ob Ihre Angaben korrekt sind oder nicht. Um diese Ergebnisse zu erzielen, stehen viele Dinge im Hintergrund.

Die Anwendung sendet Ihre Kreditkartendaten an eine Remote-Anwendung, die Ihre Informationen überprüft und das Ergebnis an Ihre Anwendung zurücksendet. In diesem Szenario wird die API verwendet.

Ich hoffe, es hilft für Anfänger, die nicht wirklich verstehen, was API ist.

EIN ANDERES BEISPIEL

Wetteranwendung

Ohne API - Die Wetteranwendung muss die Website weather.com öffnen und die Details wie ein Mensch lesen.

Mit API - Die Wetteranwendung sendet eine Nachricht an weather.com, empfängt das Ergebnis und zeigt es dann an.

QUELLE - Verschiedene Online-Ressourcen

Gibbs
quelle
2
Mit täglichem Beispiel klar erklärt Vielen Dank, dass Neulingen wie mir so viel hilfreich sein wird
sai
In diesem Fall ist die API also weather.com, die die Daten auf meine Anforderungen sendet. oder ist die API meine App, die Anfragen sendet, Daten empfängt und auf irgendeine Weise anzeigt? oder ist die API die Beziehung zwischen weather.com und meiner App?
Paweł
1
@ Paweł API wird die Anwendung sein, die Daten anfordert
Gibbs
@ Paweł Stellen Sie sich das so vor: Es gibt zwei Oberflächen für eine App. Erstens die Benutzeroberfläche (Schnittstelle) für einen menschlichen Benutzer. Zweitens ist die API (Schnittstelle) für ein anderes Anwendungsprogramm. Daher ist die API zwischen der Wetteranwendung und weather.com weather.com.
Vpibano
15
  1. Eine API (Application Programming Interface) ist eine Reihe definierter Funktionen und Methoden für die Schnittstelle mit dem zugrunde liegenden Betriebssystem oder einem anderen Programm oder Dienst, der auf dem Computer ausgeführt wird.

  2. Es wird normalerweise verwendet, indem ein Verweis auf eine Bibliothek in Ihrer Software erstellt oder eine Funktion aus einer DLL importiert wird.

  3. Es wird in der einen oder anderen Form in fast jeder Software verwendet, explizit in Ihrem Programm aufgerufen oder implizit vom Compiler aufgerufen.

Mark Hall
quelle
10

API steht für Application Programming Interface, dh API ist die Möglichkeit für eine Anwendung, mit bestimmten Systemen / Anwendungen / Bibliotheken / etc. Zu interagieren.

Beispielsweise gibt es APIs für das Betriebssystem (WinAPI), APIs für andere Anwendungen (wie Datenbanken) und für bestimmte Bibliotheken (z. B. Bildverarbeitung) usw.

APIs werden normalerweise in einer Form entwickelt, die von einer Clientanwendung verwendet werden kann. Für C / C ++ - Anwendungen werden Header-Dateien und dynamische / statische Bibliotheken festgelegt. Für Java - Satz Gläser. Und so weiter.

Schüler
quelle
Werden APIs auch für das Internet der Dinge verwendet? Wie senden und empfangen IoT-Geräte Daten?
Pathros
7

Es handelt sich um eine Reihe von Softwarekomponenten, die miteinander interagieren. Es bietet eine Reihe von Funktionen, Variablen und Objektklassen zum Erstellen einer Anwendung, eines Betriebssystems oder einer anderen Sache.

Meghna Sreedhar
quelle
6

In Laienbegriffen habe ich immer gesagt, dass eine API wie ein Übersetzer zwischen zwei Personen ist, die verschiedene Sprachen sprechen. In Software können Daten mithilfe einer API (oder eines Übersetzers) konsumiert oder verteilt werden, sodass zwei verschiedene Arten von Software kommunizieren können. Gute Software verfügt über eine starke Übersetzer-API (API), die Regeln und Protokolle für Sicherheit und Datensauberkeit befolgt.

Ich bin ein Vermarkter, kein Programmierer. Das mag nicht ganz richtig sein, aber es ist das, was ich seit ungefähr 10 Jahren auszudrücken versuche ...

Colleen
quelle
5

Eine API besteht aus einer Reihe von Befehlen, Funktionen und Protokollen, die Programmierer beim Erstellen von Software für ein bestimmtes Betriebssystem oder eine andere Software verwenden können. Mit der API können Programmierer vordefinierte Funktionen verwenden, um mit dem Betriebssystem zu interagieren, anstatt sie von Grund auf neu zu schreiben. Alle Computerbetriebssysteme wie Windows, Unix und Mac OS sowie Sprachen wie Java bieten eine Anwendungsprogrammschnittstelle für Programmierer.

Quelle

Abhishek Jaiswal
quelle
5

Betrachten Sie diese Situation:

Mark und Lisa sind heimlich ein Paar, und wegen des Altersunterschieds dürfen sie nicht zusammen sein. Mark und Lisa treffen sich jeden Abend, wenn niemand zuschaut. Sie haben ihre eigenen Regeln aufgestellt, wie sie zu gegebener Zeit kommunizieren sollen. Er steht in ihrem Garten und wirft den kleinen Stein an ihr Fenster. Lisa weiß, dass es Zeit ist, und winkt aus dem Fenster und öffnet es anschließend, damit Mark einsteigen kann. So funktionierte die API. Der Felsen ist erste Anfrage zu einem anderen Ende. Ein anderes Ende winkt, öffnet das Fenster, was im Grunde genommen "Willkommen in!" Bedeutet.

API ist fast wie menschliche Sprache, nur für Computer.

xZero
quelle
3

Eine API definiert die Schnittstellen, über die eine Software auf Quellenebene mit einer anderen kommuniziert. Es bietet Abstraktion durch Bereitstellung eines Standardsatzes von Schnittstellen - normalerweise Funktionen -, die eine Software (normalerweise eine übergeordnete Version) von einer anderen Software (normalerweise eine untergeordnete Version) aufrufen kann.

Beispielsweise kann eine API das Konzept des Zeichnens von Text auf dem Bildschirm durch eine Reihe von Funktionen abstrahieren, die alles bieten, was zum Zeichnen des Textes erforderlich ist. Die API definiert lediglich die Schnittstelle. Die Software, die die API tatsächlich bereitstellt, wird als Implementierung der API bezeichnet.

Es ist üblich, eine API als "Vertrag" zu bezeichnen. Dies ist zumindest im rechtlichen Sinne nicht korrekt, da eine API keine wechselseitige Vereinbarung ist. Der API-Benutzer (im Allgemeinen die übergeordnete Software) hat keine Eingabe in die API und deren Implementierung. Es kann die API so wie sie ist oder gar nicht verwenden: nimm sie oder lass sie!

Ein reales Beispiel für eine API sind die vom C-Standard definierten und von der Standard-C-Bibliothek implementierten Schnittstellen. Diese API definiert eine Familie grundlegender und wesentlicher Funktionen, wie z. B. Speicherverwaltung und Routinen zur Manipulation von Zeichenfolgen.

Koray Tugay
quelle
0

Nehmen wir an, Sie entwickeln ein Spiel und möchten, dass sich der Spielbenutzer vor dem Spielen in sein Facebook-Profil einloggt (um Ihre Profilinformationen zu erhalten). Wie wird Ihr Spiel also auf Facebook zugreifen? Jetzt kommt die API. Facebook hat das Programm (API) bereits für Sie geschrieben. Sie müssen nur diese Programme in Ihrer Spieleanwendung verwenden. Mit der Facebook-API können Sie ihre Dienste in Ihrer Anwendung verwenden. Hier ist eine gute und detaillierter Blick auf API ... http://money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing1.htm

Amit Chaudhary
quelle
3
Und du hast nicht wirklich gesagt, WAS es ist ...:} Und es ist eher kein Programm, sondern nur eine Schnittstelle. Die Art und Weise, mit einem Programm umzugehen.
Kamiccolo
-1

Application Program Interface (API) ist eine Reihe von Routinen, Protokollen und Tools zum Erstellen von Softwareanwendungen. Eine API gibt an, wie Softwarekomponenten interagieren sollen, und APIs werden beim Programmieren von GUI-Komponenten (Graphical User Interface) verwendet. Eine gute API erleichtert die Entwicklung eines Programms, indem alle Bausteine ​​bereitgestellt werden. Ein Programmierer setzt dann die Blöcke zusammen.

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

Charlston Mabini Vita
quelle