it-swarm.it

Libreria vs. framework vs API?

Qual è la differenza tra una libreria, un framework e un'API? Mi sembrano tutti uguali. Mi piacerebbe sentire la gente pensarci.

33
Bob Dole

Una libreria è una raccolta di funzioni/oggetti che ha uno scopo particolare. potresti usare una biblioteca in una varietà di progetti.

Un framework è una raccolta di modelli e librerie per la creazione di un'applicazione.

Un'API è un'interfaccia per altri programmi per interagire con il tuo programma senza avere accesso diretto.

Per dirla in altro modo, pensa a una libreria come un componente aggiuntivo/pezzo di un'applicazione, un framework come lo scheletro dell'applicazione e un'API come una parte rivolta verso l'esterno di detta app.

35
GSto

Buone risposte finora, ma mancano un punto chiave: un framework utilizza IoC . Il tuo codice è circondato da un framework. Vive al suo interno. Al contrario, il tuo codice utilizza solo una libreria o API. Vive al di fuori di esso. IoC è la differenza.

14
Scant Roger

Una libreria è una raccolta di codice creata per eseguire attività comuni. Il codice della libreria tende ad essere relativamente stabile e privo di bug. L'uso di librerie appropriate può ridurre la quantità di codice che è necessario scrivere. Tende a ridurre il numero di righe di codice per un'applicazione aumentando la velocità con cui viene fornita la funzionalità. Nella maggior parte dei casi, è meglio usare una routine di libreria piuttosto che scrivere il proprio codice.

Un'API (Application Programming Interface) è un'interfaccia per alcune funzionalità che consente a un'applicazione di accedere alle funzionalità disponibili. Un'API può essere indicata come interfaccia. L'API esiste a molti livelli tra cui sistema, libreria, framework, programma e applicazione. Le API devono essere definite prima dell'implementazione del codice che le implementa.

Le API dovrebbero essere stabili, sebbene alcune parti dell'API possano essere deprecate per vari motivi. Più ampiamente viene utilizzata l'API, più è difficile modificarla. La maggior parte, se non tutta, dell'API Java 1.0 è ancora disponibile, sebbene molti metodi siano stati deprecati.

Un framework è una raccolta di API progettata per semplificare la creazione di applicazioni. I framework forniscono implementazioni per componenti riutilizzabili. I buoni framework tendono ad essere specializzati nella loro applicazione.

Java Collections Framework è una raccolta di API per vari tipi di oggetti che possono essere utilizzati per gestire le raccolte. Fornisce una gerarchia di API per varie raccolte. Nel Java Collections Framework l'interfaccia SortedSet estende l'interfaccia Set che a sua volta estende l'interfaccia Collection. Queste API sono interfacce astratte e le implementazioni effettive hanno nomi diversi. Il Framework delle collezioni semplifica l'implementazione delle raccolte e semplifica il cambiamento delle implementazioni durante lo sviluppo.

I frame possono essere costruiti con framework più piccoli come si vede nel Java Spring Framework destinato allo sviluppo J2EE. La primavera è costituita da oltre una dozzina di framework, molti dei quali possono essere utilizzati da soli o sostituiti da altri framework.

L'uso di librerie, API e framework appropriati può semplificare lo sviluppo. Questi componenti si occupano dei problemi comuni e consentono al team di sviluppo di concentrarsi sui problemi specifici dell'applicazione.

3
BillThor

Un framework è un passo avanti dalla libreria. Se la tua cassetta degli attrezzi è una biblioteca, il tuo laboratorio sarebbe un framework.

Dice Wikipedia

Un'API è un'astrazione che descrive un'interfaccia per l'interazione con un insieme di funzioni utilizzate dai componenti di un sistema software

L'importante distinzione tra un'API e un'interfaccia utente è che un'API consente ad altri software/servizi di interagire con la soluzione in modo programmatico.

Le API possono essere costruite sia per applicazioni (tramite dll o plugin) sia per siti Web e servizi (tramite REST e servizi web)

2
Homde

Vai in una biblioteca e inizia a leggere libri. Se sei l'applicazione, la raccolta di libri è la biblioteca. Gli scaffali, gli armadi e il composto che ospita tutto ciò costituisce il quadro. Tutto ciò che vieni in contatto durante l'esecuzione del compito di leggere i libri è l'API.

1
explorest

Le API definiscono come utilizzare qualcos'altro in termini di quali oggetti e metodi possono essere utilizzati da una fonte. Ad esempio, l'integrazione di Twitter o Facebook in un sito utilizza un'API di Twitter o Facebook per garantire l'aggiornamento dei dati corretti.

I frame tendono ad essere un po 'più voluminosi in un certo senso in quanto a volte possono quasi formare la propria lingua. jQuery è un esempio di un framework che ha la sua sintassi e ha un po 'più peso in termini di entrare nel mio codice in un certo senso. I frame possono anche essere piattaforme che li rendono simili alle API in un certo senso, ad es. Win32API o .Net Framework dispongono ciascuno di numerosi metodi per la creazione di un'applicazione in modo che possano esserci Frameworks con API al loro interno e API visualizzate anche come Frameworks.

Le librerie tendono ad essere file binari che implementano un'API o un Framework e quindi sono i bit che devi usare un'API o un Framework in alcuni casi. Almeno è così che vedo questi termini e le differenze tra loro.

1
JB King

L'applicazione è sviluppata utilizzando librerie basate su un framework e comunica tramite un'API.

Se crei un'app, pronuncia un'applicazione di elaborazione delle immagini online,

  • È possibile utilizzare alcune librerie di elaborazione delle immagini già scritte.
  • su qualsiasi framework tu sappia che ti guiderà a costruire l'applicazione.
  • Fornirai l'applicazione in qualche modo per interagire con il mondo esterno ... sarebbe l'API delle tue applicazioni per il resto del mondo.

Quando arriva una chiamata all'applicazione

  • sarebbe gestito in un modo che hai progettato con la guida del framework
  • elaborazione della chiamata effettuata dalla libreria
  • queste funzioni saranno accessibili tramite l'API dall'esterno

alla persona chiamante

ragioni per cui esistono:

  • libreria: ti salva dal reinventare la ruota
  • framework: ti salva da trappole impreviste di progettazione e gestione del sistema a meno che il framework stesso non abbia dei difetti
  • API: garantisce la sicurezza dell'applicazione interfacciaendo il core dall'accesso al mondo reale
0
ganesh

Una libreria è una raccolta di codice utilizzata per semplificare le attività comuni: può essere classi, funzioni o qualunque cosa sia specifica per la tua lingua o piattaforma. Un buon esempio potrebbe essere una libreria di manipolazione di stringhe che fornisce helper per attività comuni (costruzione, divisione, ricerca o ordinamento di stringhe, ecc.).

Un'API (interfaccia di programmazione dell'applicazione) è una definizione ('interfaccia') di come lavorare con un'altra applicazione, sistema o tecnologia. Definisce essenzialmente le operazioni disponibili per interagire con quell'altro sistema. Un'API può essere una libreria (il che significa che l'API è racchiusa in una libreria o in un insieme di classi), ma la distinzione è che un'API fa sempre riferimento a un sistema esterno, che si tratti di un database, un servizio Web, un'altra applicazione o il sistema operativo stesso.

Un Framework è un concetto più ampio: conterrà normalmente un numero di librerie e API per eseguire attività comuni. Esiste a un livello concettuale superiore: non è solo una raccolta di strumenti, ma anche una raccolta di modelli di progettazione, migliori pratiche e metodologie. Un Framework software è un'estensione di un general framework - i suoi significati includono essere una base da cui sono costruite le cose, fornire supporto e struttura e fornire guida e definizione ai requisiti.

0
Kirk Broadhurst