Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

ZK per principianti - il primo progetto con ZK Studio

Iniziamo ad utilizzare il framework per web application ZK, creando un semplice "Hello World" in ZK Studio.
Iniziamo ad utilizzare il framework per web application ZK, creando un semplice "Hello World" in ZK Studio.
Link copiato negli appunti

ZK è un framework opensource per la costruzione di applicazioni web, mobile e RIA (Rich Internet Application).

come è fatto ZK?

tecnologie lato client e server

ZK utilizza moltissimo ajax, che come sappiamo è una tecnologia che permette tra le altre cose l'aggiornamento "parziale" di una pagina web, ed una maggiore reattività rispetto alla navigazione sui dati: pensiamo a google maps o google suggest.

Unitamente a questa tecnologia si è affacciata da tempo sul mercato quella a component-oriented come JSF, che delega lato server la gestione degli oggetti html (i componenti).

Con questo approccio è ad esempio possibile associare ad un componente html un id del tipo:

<div id="mycomponent" > ...

Questo permette di individuare il componente lato server recuperandolo attraverso l'id "mycomponent", e gestendo il suo stato e gli eventi associati ad esso.

caratteristiche principali

  • utilizza XML (ZUML) per le interfacce grafiche della parte view
  • è event-driven quindi gestisce gli eventi attraverso dei listener per la loro gestione, in maniera simile a come siamo abituati a fare generalmente lato desktop (vedi delegation model di swing)
  • si integra in maniera trasparente con Spring, Spring Web Flow, Spring Security, JBoss Seam, JSP, JSF, Flash plugin, EJB;
  • i componenti grafici vengono creati e gestiti sul server a differenza ad esempio di gwt che li crea e gestisce lato client

ZK Studio

Per zk utilizzeremo un plugin per STS (Spring Source Tool Suite) che si chiama ZK Studio che può essere installato nella maniera 'tipica' per eclipse (al seguente url troviamo la pagina di distribuzione con i riferimenti: http://marketplace.eclipse.org/content/zk-studio)

creazione del nuovo progetto

Avviando STS e selezionando la voce file/new ci sarà la possibilità di scegliere la creazione di un progetto ZK:

Figura 1. creazione di un progetto ZK
(clic per ingrandire)


creazione di un progetto ZK

selezionando zk project comparirà la seguente schermata, dove inseriremo il nome del progetto (nel nostro caso "helloworld").

Figura 2. assegnamo un nome al progetto ZK
(clic per ingrandire)


assegnamo un nome al progetto ZK

Nella schermata seguente:

Figura 3. creazione del file web.xml per il progetto ZK
(clic per ingrandire)


creazione del file web.xml per il progetto ZK

selezioniamo la check box per fare in modo che STS crei nel progetto il deployment descriptor web.xml, quindi sul tasto "finish" per creare il progetto finale:

Figura 4. il progetto ZK nel package exporer di STS
(clic per ingrandire)


il progetto ZK nel package exporer di STS

ZK Studio: ZK su eclipse

Installazione tomcat e configurazione ambiente

Configuriamo ora il server sul quale effettueremo il deploy e proveremo l'applicazione web.

Nel nostro caso utilizzeremo Apache Tomcat (versione 7): dovremo quindi scaricare l'archivio della versione tomcat corrente, ed estrarne il contenuto

Non dimentichiamo a questo punto di definire le variabili di ambiente per l'installazione, in maniera simile alla seguente:

# unix
EXPORT TOMCAT_HOME = /directory/di/installazione/di/Tomcat/
EXPORT PATH = %PATH%:%TOMCAT_HOME%/bim
# win
SET TOMCAT_HOME = C:directorydiinstallazionediTomcat
SET PATH = $PATH;%TOMCAT_HOME%bin

fatto questo nella finestra "server" premiamo tasto destro del mouse e scegliamo "new" per definire una istanza di un nuovo server:

Figura 5. STS: istanziamo un nuovo server
(clic per ingrandire)


STS: istanziamo un nuovo server

e nella lista scegliamo Tomcat (versione 7, nel nostro caso)

Figura 6. STS: scelta di tomcat come server web
(clic per ingrandire)


STS: scelta di tomcat come server web

Indichiamo dove abbiamo installato il nostro server:

Figura 7. STS: impostazione del path di installazione di tomcat
(clic per ingrandire)


STS: impostazione del path di installazione di tomcat

nella schermata successiva selezioniamo il nostro progetto e clicchiamo sul pulsante "add" per aggiungerlo ai progetti di cui sarà possibile effettuare il deploy sul server:

Indichiamo dove abbiamo installato il nostro server:

Figura 8. STS: aggiunta del progetto al deploy
(clic per ingrandire)


STS: aggiunta del progetto al deploy

Ed ecco come viene visualizzata l'istanza del server da noi aggiunta:

Figura 9. STS: tomcat@localhost
(clic per ingrandire)


STS: tomcat@localhost

il progetto di test

(...e infine l'inevitabile progetto "Ciao Mondo")

ora apriamo il file "index.zul" e aggiungiamo la frase "Salve a tutti!", come in figura:

Figura 10. zk: il nostro index.zul
(clic per ingrandire)


zk: il nostro index.zul

salviamo il tutto. Quindi col tasto destro del mouse clicchiamo sul progetto e selezioniamo "run on server":

Figura 11. zk: run on server...
(clic per ingrandire)


zk: run on server...

selezionando tomcat e cliccando su "finish" il sorgente verrà 'impacchettato' in un archivio war e ne verrà fatto il deploy sul server. Infine verrà lanciata l'applicazione web che mostrerà il nostro messaggio a video:

Figura 12. zk: il rendering nel browser della pagina "ciao mondo"
(clic per ingrandire)


zk: il rendering nel browser della pagina 'ciao mondo'

piuttosto semplice no?

web.xml

Se per curiosità aprite il file web.xml (deployment descriptor), noterete che STS ha inserito in automatico la configurazione per una web application di ZK.

Inoltre come da figura:

Figura 13. zk: outline e proprietà delle pagine
(clic per ingrandire)


zk: outline e proprietà delle pagine

nella window "outline" STS aiuta nella gestione dei componenti grafici e delle loro proprietà... ed è bene notare come sia eclipse che STS offrano molto di più: lasciamo gli approfondimenti del caso ad articoli successivi.

Conclusioni.

Un primo semplice esempio sul framework ZK, analizzando in maniera veloce le caratteristiche di questo framework mirando soprattutto a far girare la nostra prima applicazione web ma ci sarà modo di approfondire l'argomento ain maniera più esaustiva nel prossimo articolo.

Ti consigliamo anche