Grails
Grails software | |
---|---|
![]() | |
Genere | Integrated development environment |
Data prima versione | 2005 |
Ultima versione | 3.0.10 (2 dicembre 2015) |
Sistema operativo | Multipiattaforma |
Linguaggio | Groovy |
Licenza | Apache License2.0 (licenza libera) |
Sito web | grails.org/ |
Grailsè unframeworkopen sourceperapplicazioni webprogettato per consentire un'elevata produttività. È basato sul linguaggio di programmazioneGroovy,un linguaggio dinamico eseguito sullapiattaforma Java.Grails è stato creato per dare agli sviluppatori Java funzionalità per lo sviluppo di applicazioni web che non erano mai state disponibili prima.
Siccome Grails è un framework web, non include nessuno strumento per servire altre architetture. Il lavoro di sviluppo cominciò nel luglio 2005 e la versione 0.1 venne pubblicata il 29 marzo2006.
Panoramica
[modifica|modifica wikitesto]Grails è stato sviluppato con molteplici obiettivi:
- Fornire un framework web per la Piattaforma Java che garantisse un'elevata produttività.
- Riutilizzare tecnologie Java di successo comeHibernateeSpring,fornendo un'interfaccia semplice e coerente.
- Offrire un framework semplice e facile da imparare.
- Offrire documentazione per le porzioni di interesse del framework.
- Framework dipersistenzapotente e coerente.
- Template di visualizzazione potenti e coerenti con l'uso di GSP (Groovy Server Page).
- Librerie di tag dinamici per creare facilmente componenti per pagine web.
- Un buon supporto perAJAX,facile da estendere e personalizzare.
- Fornire applicazioni di esempio che mettano in evidenza le potenzialità del framework.
- Offrire una modalità di sviluppo completa e rapida, con l'inclusione di unweb servernell'ambiente di programmazione e funzionalità direloadingautomatico delle risorse.
Produttività
[modifica|modifica wikitesto]Grails ha tre caratteristiche che aumentano significativamente la produttività degli sviluppatori rispetto ai framework Java tradizionali:
Nessuna configurazione XML
[modifica|modifica wikitesto]Tipicamente, creare un'applicazione web in Java comporta la configurazione di ambienti e framework prima e durante lo sviluppo. Questa configurazione è molto spesso contenuta in fileXMLper facilitare il lavoro ed evitare di introdurre queste configurazioni all'interno del codice applicativo.
L'XML fu inizialmente utilizzato in quanto dava maggiore coerenza alla configurazione delle applicazioni. Negli ultimi anni è però divenuto evidente che sebbene l'XML sia ottimo per la configurazione, esso diventa tedioso per la preparazione di un ambiente. Questo può incidere negativamente sulla produttività in quanto gli sviluppatori perdono tempo a comprendere e manutenere la configurazione del framework con il crescere dell'applicazione. Aggiungere o cambiare le funzionalità di un'applicazione che fa uso di una configurazione XML aggiunge un passo aggiuntivo allo scrivere il codice applicativo, che rallenta la produttività e può ridurre l'agilità dell'intero processo.
Grails elimina la necessità di aggiungere configurazioni in file XML. Il framework fa invece uso di una serie di regole o convenzioni, analizzando il codice delle applicazioni basate su Grails. Per esempio, una classe il cui nome termina conController
(ad esempioBookController
) viene considerato un controller web.
Ambiente di sviluppo pronto all'uso
[modifica|modifica wikitesto]Utilizzando i tradizionali strumenti per la programmazione Java, la configurazione degli ambienti è a carico del programmatore. Grails fornisce fin dall'installazione un ambiente di sviluppo già operativo che non necessita di configurazione per poter iniziare a sviluppare. Tutte le librerie necessarie sono incluse nella distribuzione di Grails, che prepara automaticamente l'ambiente di deploy/esecuzione.
Funzionalità disponibili tramite Mixin
[modifica|modifica wikitesto]Grails fornisce metodi dinamici per diverse classi tramitemixin.Un mixin è una funzionalità (nel caso di Grails i mixin sonometodi) aggiunta dinamicamente ad unaclassecome se fosse compilata nel programma.
Questi metodi dinamici permettono agli sviluppatori di eseguire operazioni senza dover implementare interfacce o estendere le classi base. Grails fornisce metodi dinamici in base al tipo di classe. Per esempio le classi di dominio hanno metodi per automatizzare le operazioni di persistenza comesave,deleteefind.
Collegamenti esterni
[modifica|modifica wikitesto]- (EN)Sito ufficiale,sugrails.codehaus.org.URL consultato il 7 settembre 2018(archiviato dall'url originaleil 26 maggio 2008).