Google Web Toolkit: una breve introduzione
Google Web Toolkit (GWT) è un framework di sviluppo per applicazioni AJAX rilasciato sotto licenza opensource Apache 2.0.
Il suo obiettivo è permettere allo sviluppatore di lavorare ad un livello di astrazione più alto rispetto a quello nativo di AJAX evitando di sprecare risorse scrivendo linee di codice HTML e Javascript da testare sui diversi browser.
Attraverso GWT è possibile sviluppare e debug-are applicazioni AJAX utilizzando semplicemente JAVA e gli usuali IDE (Eclipse, IntelliJ, Netbeans).
Dal momento in cui si vuole passare al sistema di produzione sarà necessario invocare il compilatore GWT che trasformerà l'applicazione stessa in codice HTML e Javascript browser-compabitile.
Il ciclo di sviluppo GWT è quindi il seguente:
- si sviluppa e si fa il debug della propria applicazione Java attraverso i vari tool disponibili sul mercato utilizzando le diverse librerie GWT
- si utilizza il compilatore GWT da Java a Javascript per creare un insieme di file HTML e Javascript che possono essere piazzati in qualsiasi web server
- si esegue un test della piattaforma sul/sui browsers che la stessa dovrebbe supportare.
Perché viene utilizzato Java per scrivere l'applicazione e non Javascript?
La tecnologia Java offre diversi vantaggi nello sviluppo rispetto a Javascript poiché:
- Esiste un insieme molto ricco di tools di sviluppo (Eclipse, IntelliJ, JProfiler, JUnit)
- Java verifica staticamente i tipi di dato riducendo gli errori a run-time
- Gli errori Javascript vengono evitati poiché il compilatore Java-to-Javascript di GWT conosce come *non* commetterli
- Java è più vicino ai tool di progettazione Object Oriented rispetto a Javascript e l'applicazione sarà più comprensibile e manutenibile
Utilizzare Google Web Toolkit
GWT offre allo sviluppatore un insieme di componenti di interfaccia grafica che, assemblati, danno origine all'applicazione; tali componenti sono denominati Widget.
Come in ogni framework per la gestione di interfaccia grafica esistono dei Panel che contengono i widget necessari per lavorare.
Questo è il codice necessario per creare una applicazione GWT che visualizza un pulsante e gestisce l'evento click sullo stesso:
-
public class Hello implements EntryPoint {
-
public void onModuleLoad() {
-
Button b = new Button("Click me", new ClickListener() {
-
public void onClick(Widget sender) {
-
Window.alert("Hello, AJAX");
-
}
-
});
-
RootPanel.get().add(b);
-
}
-
}
GWT offre una buona serie di Widget nativi per la costruzione delle applicazioni (alberi, tabs, modal dialogs).
Debugging e messa in produzione delle applicazioni GWT
Tutte le applicazioni GWT possono essere eseguite in due modalità:
- Hosted mode: in questa modalità l'applicazone viene fatta girare all'interno della Java Virtual Machine. Gran parte del tempo di sviluppo viene "trascorso" in questa modalità di esecuzione poichè in questo contesto è possibile sfruttare tutte le potenzialità dell'IDE con cui si lavora ed è semplice eseguire il debug a run-time
- Web mode: in questa modalità l'applicazione è costituita da HTML e Javascript "puri", che sono stati generati da GWT attraverso la compilazione del codice Java sviluppato nella modalità precedente. Questa rappresenta l'applicazione che va caricata sul server web e che renderà possibile agli utenti l'utilizzo del sistema che si va creando.
Il supporto per l'hosted mode è garantito da un web-browser speciale che viene distribuito assieme a GWT.
Il sito del framework è il seguente: http://code.google.com/webtoolkit/.
Post Correlati e Simili:
Ultimi 5 articoli di Ivan Codarin
- Opencms 7 disponibile - August 16th, 2007
- Videocorso di sviluppo Java - June 8th, 2007
- Le piccole aziende e l' informatica: risorse umane - May 14th, 2007
- Le piccole aziende e l'informatica: da dove iniziare? - April 24th, 2007
- Le piccole aziende e l'informatica: un approccio spesso difficile - April 13th, 2007

Add New Comment
Viewing 1 Comment
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Add New Comment
Trackbacks
(Trackback URL)