Framework

Da Wikipedia, l'enciclopedia libera.

In informatica, e specificatamente nello sviluppo software, un framework è un'architettura (o più impropriamente struttura) logica di supporto (spesso un'implementazione logica di un particolare design pattern) su cui un software può essere progettato e realizzato, spesso facilitandone lo sviluppo da parte del programmatore. Alla base di un framework c'è sempre una serie di librerie di codice utilizzabili in fase di linking con uno o più linguaggi di programmazione, spesso corredate da una serie di strumenti di supporto allo sviluppo del software, come ad esempio un IDE, un debugger o altri strumenti ideati per aumentare la velocità di sviluppo del prodotto finito. L'utilizzo di un framework impone dunque al programmatore una precisa metodologia di sviluppo del software.

Descrizione[modifica | modifica sorgente]

Scopi di un framework[modifica | modifica sorgente]

Il termine inglese framework può essere tradotto come intelaiatura o struttura, che è appunto la sua funzione, a sottolineare che al programmatore rimane solo da creare il contenuto vero e proprio dell'applicazione. Lo scopo di un framework è infatti quello di risparmiare allo sviluppatore la riscrittura di codice già scritto in precedenza per compiti simili. Questa circostanza si è presentata sempre più spesso man mano che le interfacce utente sono diventate sempre più complesse, o, più in generale, man mano che è aumentata la quantità di software con funzionalità secondarie simili.

Ad esempio, il tipo di interazione con l'utente offerto da un menu a tendina sarà sempre la stessa indipendentemente dall'applicazione cui il menu appartiene (o almeno questo è ciò che l'utente si aspetta); in casi come questo un framework, che permette di aggiungere la funzionalità di una finestra con un menu a tendina con poche righe di codice sorgente a carico del programmatore, o magari permettendogli di disegnare comodamente il tutto in un ambiente di sviluppo, permetterà al programmatore di concentrarsi sulle vere funzionalità dell'applicazione, senza doversi far carico di scrivere codice "di contorno".

Un framework è definito da un insieme di classi astratte e dalle relazioni tra esse. Istanziare un framework significa fornire un'implementazione delle classi astratte. L'insieme delle classi concrete, definite ereditando il framework, eredita le relazioni tra le classi; si ottiene in questo modo un insieme di classi concrete con un insieme di relazioni tra classi.

Relazione con le librerie di run-time[modifica | modifica sorgente]

Un framework può essere visto come (e in alcuni casi è) un sovrainsieme o un'aggiunta alle librerie di run-time di un linguaggio. Per fare qualche esempio:

Utilizzi[modifica | modifica sorgente]

A volte si utilizzano framework proprietari progettati ex-novo oppure che estendono framework già esistenti; trattandosi di fatto di importazione di librerie è anche possibile combinare più framework, ciascuno utilizzato per diverse parti dell'applicazione da realizzare.

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]