Google Web Toolkit

Frontend Development – Data Binding con KnockoutJS e Javascript
18 aprile 2017
I Contratti del Software: tutele, diritti d’autore e di distribuzione
18 aprile 2017
Frontend Development

Google Web Toolkit

Lo sviluppo di applicazioni web è oramai un campo specialistico nel quale districarsi tra le varie tecnologie è assai difficile. Lo scopo di questo corso è quello di mostrare le potenzialità e le pratiche per l’utilizzo di GWT, uno degli strumenti utilizzati, tra l’altro, per la realizzazione di applicazioni quali Google Inbox, Google Sheets e Google AdWords. GWT è un potente strumento per lo sviluppo web e mobile (HTML5) ma al primo impatto può disorientare sia  gli sviluppatori Java che quelli Javascript. Con esempi, casi d’uso ed esercitazioni mirate capiremo con i primi come addentrarsi nelle problematiche dei browser e “getting Addicted to the Asynchronicity”;  con i secondi approfondiremo invece come la tipatura statica del java posa essere in valido supporto allo sviluppo e come includere un compilatore nella propria toolchain possa essere la scelta giusta.

Prerequisiti

È necessaria una conoscenza almeno di base del linguaggio di programmazione Java ed una idea chiara di cosa sia la web platform (https://www.webplatform.org/), il Javscript ed il protocolo http.

 

Obiettivi formativi

L’obiettivo del corso è quello di rendere i partecipanti in grado di utilizzare autonomamente il Toolkit per la realizzazione di applicazioni web sfruttando le potenzialità della compilazione da java  a javascript e le più importanti feature del Toolkit GWT.

 

Programma

Cos’è GWT

  • Javascript as a target language, compilation, optimization and browser support
  • Creare una webapp: eclipse plugin, GWT SDK
  • Anatomia

 

Mechanics

  • DevMode & SuperDevMode
  • Compilation/Permutations/Deploying
  • Moduli

 

Ui Basics

  • Panels & Widgets
  • Event Handlers

 

Logging

  • Logger
  • LogHandler(s) & Properties

 

Muovere dati tra il client ed il server

  • GWT RPC
  • RequestBuilder

 

Ui Basics ++

  • Layouts
  • Composite & Custom Widgets
  • UiBinder,
  • ClientBundle, Resources & CssResource

 

Architecture

  • UIs/Patterns/OOp (MVC,MVP) a short intro
  • Activities and Places & Browser History
  • EventBus
  • ClientFactory
  • Views

 

Interoperability

  • Jsni
  • JsInterop

 

Emulated JRE & Java-Interop

  • <super-source/>