Framework: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m preposizione al femminile invece che al maschile "struttura logica... sulla quale" Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile |
Nessun oggetto della modifica |
||
(19 versioni intermedie di 14 utenti non mostrate) | |||
Riga 1:
{{F|programmazione|ottobre 2010}}
Il termine ''framework'' è spesso utilizzato anche all'infuori del linguaggio informatico. Lo si usa, specie nelle materie economico-gestionali, per esprimere il concetto di una modalità strutturata, pianificata e permanente, che supporta una prassi, una metodologia, un progetto, un sistema di gestione. In italiano corrisponde alle parole:
== Descrizione ==
Un ''framework'' è definito da un insieme di [[classe astratta|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.
Alla base di un ''framework'' c'è sempre una serie di [[Libreria software|librerie]] di [[Codice sorgente|codice]] utilizzabili in fase di linking con uno o più [[Linguaggio di programmazione|linguaggi di programmazione]], spesso corredate da una serie di strumenti di supporto allo sviluppo del ''software'', come ad esempio un [[
=== Funzione ===
Riga 15 ⟶ 17:
Un ''framework'' può essere visto come (e in alcuni casi è) un sovrainsieme o un'aggiunta alle [[Libreria software|librerie]] di ''[[run-time]]'', o tempo d’esecuzione, di un [[Linguaggio di programmazione|linguaggio]]. Per fare qualche esempio:
* Il [[C++]] ha, oltre alla [[libreria standard C++]], un proprio ''framework'' non grafico, la
* Anche il [[C (linguaggio)|C]] ha una propria libreria di run-time, la [[libreria standard del C]], nota anche come '''libc''' (in ambiente [[Unix]]) o '''CRT''' (in ambiente Microsoft, da ''C Run-Time''); tuttavia vi sono parecchi ''framework'' per il C, fra cui il [[GTK+|GIMP Toolkit]] ('''GTK''').
* Per il linguaggio [[C sharp|C#]], che non ha una propria libreria di ''run-time'', il Framework .NET svolge anche questa funzione. Lo stesso vale per [[Visual Basic .NET]], che è stato concepito in maniera analoga.
* Tutto il ''software'' scritto in [[Delphi]] di [[Borland]] si appoggia sulla [[Visual Component Library]] ('''VCL'''), sempre di Borland; questa libreria di fatto è un framework, poiché si prende carico di una gran quantità di servizi ''software'' non essenziali (tra i quali, appunto, la gestione dell'interfaccia grafica). Come Microsoft con il [[C++]], anche Borland ha realizzato una versione di Delphi che si appoggia al Framework .NET.
* Sono per Java i ''framework'' [[Apache Cocoon|Cocoon]] e [[Apache Struts|Struts]] di [[Apache Software Foundation|Apache]], tutti e due orientati allo sviluppo di applicazioni per [[Internet]].
* Programmando in [[PHP]] è possibile fare uso di prodotti quali [[Symfony]], [[Zend Framework]], [[Yii framework|yii]],
* In [[Perl]] esiste il ''framework'' [[Catalyst (software)|Catalyst]], nel quale il codice viene generato a partire dallo schema di un database sottostante.
* Programmando in [[RPG (linguaggio di programmazione)|RPG]] è possibile fare uso di prodotti quali
* In [[Python]] esiste il ''framework'' ''[[Twisted (software)|Twisted]]'' che utilizza il [[Programmazione
* Anche [[WordPress]] dispone di numerosi ''framework'', in grado di estenderne le funzionalità e migliorarne le prestazioni: alcuni di essi sono inclusi in ''theme'' grafici più avanzati, altri sono installabili separatamente. Tra i più noti citiamo Option Framework (che mette a disposizione delle estensioni nel ''backend'', come ad esempio le pagine di opzioni del sito), Genesis, Titan e Redux.
* Il framework ''full stack'' [[Ruby on Rails]], dedicato al [[Ruby (linguaggio di programmazione)|Ruby]], ha contribuito ad accrescerne la diffusione.
Nonostante questo bisogna tener ben presente che un ''framework'' concettualmente non è una libreria. La differenza sta nel fatto che le librerie sono collezioni di funzioni specializzate per un determinato compito, che possiamo chiamare quando ne abbiamo bisogno, mentre il ''framework'' è l'infrastruttura predisposta alla realizzazione di un’applicazione secondo un determinato approccio all'interno del quale inseriamo del codice che verrà opportunamente interrogato per implementare il comportamento specifico della nostra applicazione.
Riga 31 ⟶ 33:
=== Utilizzi ===
A volte si utilizzano ''framework'' proprietari progettati ex-novo oppure che estendono ''framework'' già esistenti; trattandosi di fatto di importazione di [[libreria (software)|librerie]] è anche possibile combinare più ''framework'', ciascuno utilizzato per diverse parti dell'applicazione da realizzare.
▲Il termine ''framework'' è spesso utilizzato anche all'infuori del linguaggio informatico. Lo si usa, specie nelle materie economico-gestionali, per esprimere il concetto di una modalità strutturata, pianificata e permanente, che supporta una prassi, una metodologia, un progetto, un sistema di gestione. In italiano corrisponde alle parole: architettura, struttura, quadro strutturale e simili (mentre "intelaiatura" sarebbe poco adatto per questo scopo, sebbene sia il significato originario di ''framework'').
== Note ==
Riga 42 ⟶ 39:
== Voci correlate ==
* [[Libreria (software)]]
* [[Ambiente di sviluppo integrato]]
* [[Software]]
* [[Framework per applicazioni web]]
== Altri progetti ==
{{Interprogetto|preposizione=sul|wikt=framework}}
== Collegamenti esterni ==
* {{FOLDOC||framework}}
{{Controllo di autorità}}
{{Portale|
[[Categoria:Framework| ]]
|