Qual è la differenza tra un'API e una libreria? [chiuso]

-1

Ho creato un progetto Java. Il mio progetto è una raccolta di classi che consentono a un programmatore di gestire le reti locali (creare rete, eliminare l'accesso alla rete al dispositivo, ottenere informazioni sul SSID) e altre funzioni nella rete locale. L'architettura del programma è basata su comandi CMD. Tutte le classi sono riutilizzabili dal programmatore. Esporterò il mio progetto come JAR da utilizzare in altri progetti.

Ora sono confuso tra due termini per il mio progetto: dovrei chiamarlo un'API o una libreria, o ci sono altri termini per questo tipo di progetto?

Ogni volta che chiedo alle persone la differenza tra un'API e una libreria, ottengo opinioni diverse. Alcuni ti diranno che un'API è un mucchio di funzioni mappate, e una libreria è solo la distribuzione in forma compilata.

Esiste davvero una chiara differenza tra API, framework e librerie?

    
posta Xlint Xms 18.12.2017 - 00:03
fonte

3 risposte

6

Spesso le API e le librerie hanno una relazione 1: 1, quindi posso capire un po 'della confusione. Spesso, una libreria per risolvere alcuni problemi ha il suo modo specifico di interagire con la libreria (creando l'API).

Un'API (Application Programming Interface) è il modo in cui la tua applicazione comunica con alcuni componenti software, tipicamente una libreria. Un tipico esempio è l'API Java. Definisce molte classi e metodi che possono essere utilizzati dalla tua applicazione.

Una libreria è una raccolta di funzionalità che non crea una propria applicazione, ma viene offerta al software applicativo per facilitare l'implementazione di alcune attività. Il modo di interagire con quella libreria è definito da alcune API. È possibile pensare ai file jar all'interno di JRE come librerie (sebbene tale termine non venga spesso utilizzato in quel contesto) che seguono l'API Java. Ci possono essere diverse implementazioni (da diversi fornitori) che compongono diverse librerie, tutte seguendo la stessa API.

Un framework non solo offre alcune classi e metodi, ma propone anche un modo specifico per strutturare il tuo software applicativo. La distinzione tra API e framework non è precisa al 100%, poiché ogni API influenza il modo in cui scrivi la tua applicazione. Parliamo di un "quadro" se tale influenza è significativa.

Quindi, ad esempio, chiamerei Java Reflection un'API (se lo si utilizza, è in genere piuttosto locale) e la GUI di Swing di Java è un framework (l'utilizzo di esso ha in genere un impatto su aspetti più ampi del codice). / p>     

risposta data 19.12.2017 - 14:24
fonte
4

Una libreria è una raccolta di classi e / o funzioni riutilizzabili.

Un framework è un ambiente software riutilizzabile che fornisce funzionalità come parte di una piattaforma software più grande.

Le librerie e i framework hanno entrambi un'API. L'API è la area di superficie di qualsiasi libreria o framework con cui il software interagisce; è composto da tutte le definizioni delle classi, dei metodi e delle proprietà dichiarati pubblicamente.

Riferimenti
Libreria
Framework
Application Programming Interface (API)

    
risposta data 19.12.2017 - 18:05
fonte
1

Some will tell you that an API is a bunch of mapped out functions

Un'API è il modo in cui interagisci, o "interfaccia", con altre applicazioni. L'API è le funzioni che chiamate per fare questa interazione. Una libreria è la tua collezione di funzioni che ti aiutano a chiamare le funzioni dell'interfaccia.

    
risposta data 19.12.2017 - 13:24
fonte

Leggi altre domande sui tag