Qual è esattamente il significato di un'API? [chiuso]


164

Ho cercato la definizione di un'API in un linguaggio di programmazione e lo trovo ancora difficile da capire.

Qualcuno potrebbe consigliarmi in termini semplici e profani:

  1. Che cos'è un'API?
  2. Come si usa
  3. Quando e dove viene utilizzato?

7
Hai provato prima FOLDOC? foldoc.org/API La loro definizione mi è sembrata abbastanza "laica".
Ray Toal,

@pst avrei dato per scontato che l'OP guardasse già Wikipedia perché chi non controlla Wikipedia? Sarcasmo mal riposto sulla possibilità di usare la definizione di FOLDOC del 1995 prima di controllare Wikipedia. Devo eliminare il commento?
Ray Toal,

Se stai cercando una spiegazione per i non
addetti

Risposte:


129

Le ricerche dovrebbero includere Wikipedia, che è sorprendentemente utile per una serie di concetti / termini di programmazione come Application Programming Interface :

Che cos'è un'API?

Un'interfaccia di programmazione dell'applicazione (API) è un insieme particolare di regole ('codice') e specifiche che i programmi software possono seguire per comunicare tra loro . Serve come interfaccia tra diversi programmi software e facilita la loro interazione, in modo simile all'interfaccia utente che facilita l'interazione tra uomo e computer.

Come si usa

Allo stesso modo viene utilizzato qualsiasi set di regole.

Quando e dove viene utilizzato?

Dipende dal regno e dall'API, naturalmente. Considera questi:

  1. Il set di istruzioni x86 (IA-32) (molto utile ;-)
  2. Una chiamata di interruzione del BIOS
  3. OpenGL che viene spesso esposto come libreria C.
  4. Chiamate di sistema di Windows principali: WinAPI
  5. Le classi e i metodi nella libreria principale di Ruby
  6. Il modello a oggetti del documento esposto dai browser a JavaScript
  7. Servizi Web , come quelli forniti dall'API Graph di Facebook
  8. Un'implementazione di un protocollo come JNI in Java

Buona codifica.


4
+1 su come chiamare "sorprendentemente buono". Per l'informatica, Wikipedia è il massimo. Alcuni potrebbero ricordare il confronto tra Wikipedia e Britannica di Nature: '' 'Secondo il Wall Street Journal: "[Galles] dice che era contento che la Natura abbia scelto di confrontare temi legati alla scienza' perché sulla storia e le scienze sociali, siamo molto debole '. In altre aree - tra cui l'informatica e la storia di "Star Trek", afferma - Wikipedia è "molto meglio". "" "(Da dailybarometer.com/forum/… )
Ray Toal,

2
@ user166390 La voce di Wikipedia su API ora è piuttosto male ... Scrivo api e quella voce mi ha davvero confuso. buona cosa hai citato ciò che hai fatto, poiché apparentemente è peggiorato molto.
eric,

Voglio chiedere se il file php che viene inserito nell'URL di una richiesta Ajax è un'API? O forse la stessa richiesta Ajax è già un'API?
Brownman Revival,

Le API vengono utilizzate anche per l'Internet of Things? O in che modo i dispositivi IoT inviano e ricevono dati?
Pathros

57

Un'API è l'interfaccia attraverso la quale accedi al codice di qualcun altro o attraverso cui il codice di qualcun altro accede al tuo. In effetti metodi e proprietà pubblici.


4
Quest'ultima frase è degna di nota e potrebbe essere estesa su ...
tumultous_rooster il

45

1) Che cos'è un'API?

L'API è un contratto. Una promessa di eseguire servizi descritti quando richiesto in modi specifici.

2) Come viene utilizzato?

Secondo le regole specificate nel contratto. Il punto centrale di un'API è definire come viene utilizzato.

3) Quando e dove viene utilizzato?

Viene utilizzato quando 2 o più sistemi separati devono lavorare insieme per ottenere qualcosa che non possono fare da soli.


44

Bene, oltre a tutte le risposte, sto solo aggiungendo un esempio.

Come altri hanno detto API stands for Application Programming Interfaceattraverso il quale softwares can interact with each other. Nota, non un'interazione umana.

Dove viene usato

Un esempio: stai acquistando un articolo online tramite la tua carta di credito. Fornirai i dettagli della carta di credito e premi il pulsante 'continua'. Ti dirà se le tue informazioni sono corrette o meno. Per fornire questi risultati, ci sono molte cose in background.

L'applicazione invierà i dettagli della tua carta di credito a un'applicazione remota che convaliderà le tue informazioni e invierà il risultato alla tua domanda. L'API viene utilizzata in questo scenario.

Spero che sia d'aiuto per i principianti che non capiscono davvero cos'è l'API.

UN ALTRO ESEMPIO

Applicazione del tempo

Senza API - L'applicazione Meteo deve aprire il sito weather.com e leggere i dettagli come fa un essere umano.

Con API - L'applicazione Meteo invierà un messaggio a weather.com e riceverà il risultato e quindi lo visualizzerà.

FONTE - Varie risorse online


2
Spiegato chiaramente con l'esempio quotidiano, grazie mille sarà utile per le matricole come me
sai

quindi in questo caso l'API è weather.com che invia i dati sui miei requisiti? o l'API è la mia app che invia le richieste, riceve i dati e li visualizza in qualche modo? o l'API è la relazione di weather.com e della mia app?
Paweł,

1
L'API di Paweł sarà l'applicazione che richiede i dati
Gibbs,

@ Paweł Pensaci in questo modo: ci sono due interfacce per un'app. Innanzitutto, l'interfaccia utente (interfaccia) per un utente umano. In secondo luogo, è l'API (interfaccia) per un altro programma applicativo. Pertanto, l'API tra l'applicazione meteo e weather.com è weather.com.
vpibano,

15
  1. un'API (Application Programming Interface) è un insieme di funzioni e metodi definiti per l'interfacciamento con il sistema operativo sottostante o un altro programma o servizio in esecuzione sul computer.

  2. Di solito viene utilizzato stabilendo un riferimento a una libreria nel software o importando una funzione da una dll.

  3. È usato in un modo o nell'altro in quasi tutti i software, essendo esplicitamente chiamato nel tuo programma o implicitamente chiamato dal compilatore.


10

API sta per Application Programming Interface, ovvero API è il modo in cui un'applicazione può interagire con determinati sistemi / applicazioni / librerie / ecc.

Ad esempio, ci sono API per SO (WinAPI), API per altre applicazioni (come database) e librerie specifiche (ad esempio, elaborazione di immagini), ecc.

Le API sono generalmente sviluppate in una forma utilizzabile da un'applicazione client. Per le applicazioni C / C ++, imposta file di intestazione e librerie dinamiche / statiche. Per Java - set di vasetti. E così via.


Le API vengono utilizzate anche per l'Internet of Things? In che modo i dispositivi IoT inviano e ricevono dati?
Pathros,

7

È un insieme di componenti software che interagiscono tra loro. Fornisce un insieme di funzioni, variabili e classi di oggetti per la creazione di un'applicazione, sistema operativo o qualsiasi altra cosa.


6

In parole povere, ho sempre detto che un'API è come un traduttore tra due persone che parlano lingue diverse. Nel software, i dati possono essere consumati o distribuiti utilizzando un'API (o un traduttore) in modo che due diversi tipi di software possano comunicare. Un buon software ha un forte traduttore (API) che segue regole e protocolli per la sicurezza e la pulizia dei dati.

Sono un Marketer, non un programmatore. Tutto ciò potrebbe non essere del tutto corretto, ma è quello che ho cercato di esprimere per circa 10 anni ...


5

Un'API è un insieme di comandi, funzioni e protocolli che i programmatori possono utilizzare durante la creazione di software per un sistema operativo specifico o qualsiasi altro software. L'API consente ai programmatori di utilizzare funzioni predefinite per interagire con il sistema operativo, anziché scriverle da zero. Tutti i sistemi operativi per computer, come Windows, Unix e Mac OS e il linguaggio come Java forniscono un'interfaccia di programma applicativo per i programmatori.

fonte


5

Considerare questa situazione:

Mark e Lisa sono segretamente una coppia e, a causa della differenza di età, non è permesso loro di stare insieme. Mark e Lisa si incontrano ogni notte quando nessuno sta guardando. Hanno stabilito il proprio set di regole su come comunicare al momento opportuno. Si trova nel suo giardino e lancia la piccola roccia alla sua finestra. Lisa sa che è il momento e risponde salutando la finestra e aprendola in seguito in modo che Mark possa arrampicarsi. Ecco come funziona l'API. La roccia è la richiesta iniziale per un altro fine. Un'altra onda si apre, apre la finestra che in pratica significa "Benvenuto!".

L'API è quasi come il linguaggio umano ma per i computer.


3

Un'API definisce le interfacce con cui un software comunica con un altro a livello di sorgente. Fornisce l'astrazione fornendo un set standard di interfacce - di solito funzioni - che un pezzo di software (in genere un pezzo di livello superiore) può invocare da un altro pezzo di software (di solito un pezzo di livello inferiore).

Ad esempio, un'API potrebbe astrarre il concetto di disegno del testo sullo schermo attraverso una famiglia di funzioni che forniscono tutto il necessario per disegnare il testo. L'API definisce semplicemente l'interfaccia; il software che fornisce effettivamente l'API è noto come implementazione dell'API.

È comune chiamare un'API un "contratto". Questo non è corretto, almeno nel senso legale del termine, poiché un'API non è un accordo a due vie. L'utente dell'API (in genere, il software di livello superiore) non ha input nell'API e nella sua implementazione. Può usare l'API così com'è o non usarla affatto: prendila o lasciala!

Un esempio reale di un'API sono le interfacce definite dallo standard C e implementate dalla libreria C standard. Questa API definisce una famiglia di funzioni di base ed essenziali, come la gestione della memoria e le routine di manipolazione delle stringhe.


0

Supponiamo che tu stia sviluppando un gioco e desideri che l'utente del gioco acceda al proprio profilo Facebook (per ottenere le informazioni del tuo profilo) prima di giocare, quindi come accederà al tuo gioco? Ora ecco che arriva l'API.Facebook ha già scritto il programma (API) per farlo, devi solo usare quei programmi nella tua applicazione di gioco. Usando l'API di Facebook puoi usare i loro servizi nella tua applicazione. Ecco un buon e sguardo dettagliato sull'API ... http://money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing1.htm


3
E in realtà non hai detto COSA è ...:} E non è più come un programma, ma solo un'interfaccia. Il modo di gestire alcuni programmi.
Kamiccolo,

-1

L'API (Application Program Interface) è un insieme di routine, protocolli e strumenti per la creazione di applicazioni software. Un'API specifica il modo in cui i componenti software devono interagire e le API vengono utilizzate durante la programmazione dei componenti dell'interfaccia utente grafica (GUI). Una buona API semplifica lo sviluppo di un programma fornendo tutti i mattoni. Un programmatore quindi riunisce i blocchi.

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.