TurboGears: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
m Bot: inserimento portale (via JWB) |
||
(27 versioni intermedie di 22 utenti non mostrate) | |||
Riga 1:
{{W|informatica|ottobre 2011}}
{{F|linguaggi di programmazione|ottobre 2011}}{{Software
| Sviluppatore =
| SistemaOperativo =
| Genere = web framework
| SoftwareLibero =
| SitoWeb =
}}
'''''TurboGears''''' è un [[framework]] per la creazione di [[Applicazione web|applicazioni web]] ed è composto, nativamente, da varie librerie [[Python]] come MochiKit, SQLObject, CherryPy, Kid e Nose.
È stato creato nel [[2005]] da [[Kevin Dangoor]] come [[Framework per applicazioni web|web framework]] per l'ancora inedito prodotto Zesty News.
Quando, alla fine del settembre 2005, fu rilasciato come prodotto [[open source]], ricevette più di 30000 download.
TurboGears è progettato rispettando il pattern [[Model-View-Controller|MVC]], model-view-controller, come [[Struts]] o [[Ruby on Rails]], e pensato per rendere più rapido lo sviluppo di [[applicazione web|applicazioni web]] e per renderne più facile la manutenzione.<ref name="turb_Over">{{Cita web |titolo=Overview |accesso=2 settembre 2020 |url= https://www.turbogears.org/welcome/overview.html |lingua=en }}</ref>
== Componenti di Turbogears ==
{{Aggiornare|arg=informatica}}
Ecco un elenco dei principali componenti, che vengono installati nativamente, di TurboGears:
* SQLObject (è il Model): si interfaccia al database, trasformando le chiamate ad oggetti in chiamate relazionali e viceversa ([[Object-relational mapping|ORM]]). Può creare da zero il database o interfacciarsi ad uno esistente.
* SQLAlchemy può essere usato come alternativa a SQLObject, ma dalla versione 1.1 diventa l'[[Object-relational mapping|ORM]] di default.
* Kid (è il View): è la parte di frontend, ciò che viene renderizzato, dove tutti i templates sono file [[XHMTL]] o [[XML]]. Permette l'inclusione di codice Python usando le specifiche XMLish.
* Genshi è un'alternativa a Kid. È molto simile alla sintassi del kid. Per ulteriori dettagli vedi il paragrafo 'template plugin'.
* CherryPy (è la Controller): è un middleware che permette di programmare applicazioni web scrivendo gestori di eventi (event handler) che ritornano i dati (nel caso di Turbogears) al template. Questi possono essere anche in formato [[JSON]].
* Pylons / Paste sostituiranno CherryPy come controller nelle future release di turbogears.
* MochiKit è una parte opzionale di TurboGears. È una libreria [[JavaScript]] che permette lo sviluppo con questo linguaggio in maniera più Pythonica. È soprattutto usata per implementare funzionalità [[AJAX]] e fornisce un'interfaccia asincrona per gli stream di dati forniti in formato JSON.
* Nose come libreria per i test.
== Template plugin ==
Sistemi di template diversi da Kid possono essere usati tramite un sistema di [[plugin (informatica)|plugin]]. Attualmente esistono plugin per Genshi, Cheetah, Django templates, Mako e Jinja.
Nello stesso sistema possono essere usati diversi tipi di template.
== Storia ==
Nel
Nel
Alla fine del 2008 Turbogears può vantarsi di avere una comunità attiva con più di 3000 utenti sulla sua mailing list, di avere un libro edito da Prentice Hall e pubblicato nel novembre del 2006 e di avere progetti open source e progetti proprietari attualmente utilizzati nel mondo reale. Lo sviluppo procede ad un ritmo moderato ma costante ed è stato alimentato anche da un recente successo di partecipazione al progetto come [[Google Summer of Code]], organizzazione nel 2008. TurboGears 1.1 è finalmente avviato, con diverse versioni beta, nel 2008 (attualmente è ancora in beta), ed TurboGears 2 è entrato nella fase release candidate nel mese di marzo 2009.
== Futuro di Turbogears ==
Attualmente lo sviluppo avviene in due branch principali:
1. Il branch di TurboGears 1.x, basato sul codice originale e che usa CherryPy come web application server.
2. TurboGears 2 (trunk), che fondamentalmente riscrive le API di Turbogears 1 per riadattarle alla libreria Pylons
TurboGears 1.1 sarà una versione più recente di TurboGears 1.0, che continua ad utilizzare le stesse API. Le principali differenze fra la versione 1.1 e 1.0 sono la scelta di un differente sistema, di default, per template(da Kid a Genshi) ed un diverso ORM(da SQLObject a SQLAlchemy). La versione 1.1 serve come passaggio intermedio fra 1.0 e la versione 2.0 (basata sulla libreria Pylons).
Recentemente, tuttavia, sono stati compiuti buoni progressi per adeguare il codice di base 1.x di CherryPy 3.0 ed
Una versione stabile di TurboGears 2 dovrebbe essere rilasciata fra il primo ed il secondo trimestre del 2009.
== Note ==
<references/>
== Collegamenti esterni ==
* {{Collegamenti esterni}}
{{Framework per applicazioni web}}
{{Portale|informatica}}
[[Categoria:Linguaggi di scripting]]
|