Framework: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Annullata la modifica 124281314 di AikiTommy (discussione) - definizione che c'entra poco con l'argomento della voce (che forse andrebbe rinominata, dato che l'equivalente inglese è "software framework")
Etichetta: Annulla
riordino incipit
Riga 1:
{{F|programmazione|ottobre 2010}}
Unin [[informatica]] e specificamente nello [[ciclo di vita del software|sviluppo ''software'']], un '''''framework''''', termine della ([[lingua ingleseanglicismo]] che può essere tradotto come '''struttura''' o '''quadro strutturale''', in [[informatica]] e specificamente nello [[ciclo di vita del software|sviluppo ''software'']],) è un'architettura logica di supporto (spesso un'implementazione logica di un particolare ''[[design pattern]]'') sulla quale un ''[[software]]'' può essere progettato e realizzato, spesso facilitandone lo sviluppo da parte del [[programmatore]]. Talora è usato come sinonimo di ''[[Rack (informatica)|rack]]'' o [[piattaforma (informatica)|piattaforma ''software'']], anche nel gergo informatico<ref>{{cita web|url=https://www.thefreedictionary.com/framework|titolo= Significati di Framework|sito =freedictionary}}</ref><ref>{{cita web|url= http://www.dictionary.com/browse/rack-and-pinion|titolo= Framework e rack|sito= dictionary.com}}</ref>.
 
== Descrizione ==
Riga 15:
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 ''[[Standard Template Library]]'' ('''STL'''); tuttavia, esistono numerosi ''framework'' che estendono o, in parte, sostituiscono la STL, tra cui l{{'}}''[[Active Template Library]]'' ('''ATL''') e le [[Microsoft Foundation Classes]] ('''MFC''') di [[Microsoft]], [[Qt (toolkit)|Qt]] di Digia, e [[wxWidgets]]. Microsoft ha inoltre sviluppato un'implementazione del C++ (ora standard dell'[[ECMA International|ECMA]]: [[C++/CLI]]) che si appoggia integralmente al [[Framework .NET]].
* 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.
Riga 23:
* 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 [[Jeniux framework]], WebFacing, GUI/400 e molti altri.
* In [[Python]] esiste il ''framework'' ''[[Twisted (software)|Twisted]]'' che utilizza il [[Programmazione ada eventi|paradigma di programmazione orientato agli eventi]] per lo sviluppo di applicazioni [[Internet]].
* 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.
Riga 42:
== Voci correlate ==
* [[Libreria (software)]]
* [[Ambiente di sviluppo integrato]]
* [[Integrated development environment]]
* [[Software]]
* [[Framework per applicazioni web]]
Riga 50:
 
{{Controllo di autorità}}
{{Portale|internetInternet}}
 
[[Categoria:Framework| ]]