Caratteristiche e differenza tra framework e libreria

Caratteristiche e differenza tra framework e libreria

Quando nello sviluppo software c’è una difficoltà nel decidere se usare una libreria o un framework per costruire un programma, tutto si riduce al controllo. Le librerie sono un insieme di funzioni che puoi chiamare e ogni chiamata dura un po’ e ti restituisce il controllo. Le librerie possono integrarsi perfettamente nei lavori/progetti esistenti ed è necessaria un po’ di conoscenza per iniziarle ad usare. I frameworks, d’altro canto, determinano la struttura generale del tuo lavoro. A differenza delle librerie, i framework vengono utilizzati per sviluppare codice in modo più semplice. Per lo più, le librerie sono più flessibili con un livello di controllo più elevato, mentre i frameworks applicano struttura e criteri al codice.

Caratteristiche e differenza tra framework e libreria

Che cos’è il framework

Un framework è una piattaforma per programmi software. Fornisce una base su cui gli sviluppatori di software possono creare programmi per una piattaforma specifica. A titolo di esempio, un framework potrebbe includere funzioni e classi. Che può essere utilizzato per elaborare input, gestire dispositivi hardware e interagire con le applicazioni di sistema. Framework semplifica il processo di sviluppo poiché gli sviluppatori non devono reinventare la ruota ogni volta, sviluppano un nuovo programma.

Il framework è come un’API (application programming interface), sebbene tecnicamente un frame implichi un’API. Assiste come base per la programmazione, mentre un’API fornisce l’accesso agli elementi supportati dal framework. A volte un framework può includere anche un compilatore, librerie di codici e altri programmi utilizzati nel processo di sviluppo del software. Esistono diversi tipi di framework software.

Esempi popolari includono Cocoa per Mac OS X, ActiveX , .NET per sviluppo Windows, Cocoa Touch per iOS e Android Application Framework per Android. I kit di sviluppo software (SDK) sono disponibili per tutti questi framework e includono strumenti di programmazione realizzati appositamente per il frame corrispondente. Ad esempio, il software di sviluppo XCode di Apple è costituito da un SDK per Mac OS X progettato per la scrittura e la compilazione di software per il framework Cocoa.

Spesso un framework software è supportato nativamente da un sistema operativo. Senza bisogno di file aggiunti all’installazione, un programma verrà eseguito su un dispositivo Android. Per eseguire, tuttavia, alcuni programmi richiedono un framework specifico. Ad esempio, un programma Windows potrebbe richiedere Microsoft .NET Framework 4.0, che non è installato su tutte le macchine Windows (in particolare i PC che eseguono versioni precedenti di Windows). Il pacchetto di installazione di Microsoft .NET Framework 4 deve essere installato affinché il programma funzioni.

Perché si usa un Framework?

Un framework non è sempre necessario, infatti esso è “solo” uno di quegli strumenti che sono disponibili per aiutarti a sviluppare meglio e più velocemente! Questo perché un framework ti dà il risultato che stai sviluppando un’applicazione che è in pieno accordo con le regole aziendali, che è strutturata e che è sia gestibile che aggiornabile.

Esso è più veloce, poiché consente agli sviluppatori di risparmiare tempo riutilizzando moduli generici per concentrarsi su altre aree. Senza però essere legato al codice che si sta sviluppando.

  • Un framework non è un requisito completo, ma è vantaggioso.
  • Un framework è una garanzia di proprietà, aggiornabilità e manutenibilità delle applicazioni a un costo inferiore.
  • I software sviluppati utilizzando un framework sono utilizzabili con regole di scambio (portabilità del codice).

Differenza tra framework e libreria

Che cos’è la libreria

Una libreria è principalmente un insieme di definizioni di classi. Il motivo è il riutilizzo del codice, ovvero ottenere il codice che è già stato scritto da altri programmatori. Metodi e classi definiscono le operazioni. Ci sono alcune librerie di matematica che possono consentire che la funzione venga chiamata da uno sviluppatore senza dover ripetere l’implementazione di un algoritmo. Librerie precompilate per molti motivi. Poiché le librerie cambiano, non devono essere ricompilate. Sarebbe una perdita di tempo ricompilare la libreria ogni volta che scrivi.

A volte la libreria può anche essere un insieme di implementazioni di comportamento, scritte riguardanti un linguaggio, con un’interfaccia ben definita in cui il comportamento viene invocato, ad esempio, le persone che desiderano scrivere un programma di livello superiore possono utilizzare una libreria per generare chiamate di sistema piuttosto che implementare quelle chiamate di sistema più e più volte. Inoltre, più applicazioni prevedono il riutilizzo del comportamento e un programma invoca il comportamento utilizzando un meccanismo di questo linguaggio. Ad esempio, in un semplice linguaggio imperativo come C, il comportamento in una libreria viene invocato usando la chiamata di funzione ordinaria C.

Tipi di libreria    

  1. Librerie statiche
  2. Librerie dinamiche

Cos’è la libreria statica?

Una libreria statica (chiamata anche archivio) include routine che vengono compilate e collegate direttamente al programma. Quando compili un programma, che utilizza una libreria statica, tutte le prestazioni della libreria statica utilizzata dall’app diventano parte del tuo eseguibile. Su Windows le librerie hanno un’estensione .lib, mentre su Linux le librerie hanno un’estensione. Il vantaggio delle librerie statiche è che devi solo distribuire l’eseguibile per consentire agli utenti di eseguire la tua app.

Poiché la libreria diventa parte della tua app, questo aiuta a garantire che la versione perfetta della libreria sia sempre utilizzata insieme al tuo programma. Inoltre, poiché le librerie statiche diventano parte della tua app, puoi usarle proprio come le prestazioni che hai scritto per la tua applicazione. Il rovescio della medaglia, poiché una copia della libreria diventa una parte, ciò può causare molto spazio. Inoltre, le librerie statiche non possono essere aggiornate facilmente: per aggiornare la libreria, è necessario sostituire l’intero eseguibile.

Cos’è la libreria dinamica?

Una libreria dinamica (denominata anche libreria condivisa) include modelli che vengono caricati nel programma in fase di esecuzione. La libreria non diventa parte del tuo eseguibile quando compili un programma che usa una libreria e rimane come un’unità. Su Windows, le librerie dinamiche hanno in genere un’espansione .dll (libreria di collegamento dinamico), mentre su Linux, le librerie dinamiche hanno in genere un’estensione .so (oggetto condiviso).

Un vantaggio delle librerie dinamiche è che una singola copia, che consente di risparmiare spazio, può essere condivisa dai programmi. Infine, un vantaggio maggiore rispetto a quella statica è che la libreria dinamica può essere aggiornata senza sostituire gli eseguibili che la utilizzano.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *