Stregato da wicket
sabato 30 maggio 2009
Stanco di Struts, troppo spaventato da myfaces e impossibilitato ad utilizzare ruby o groovy, per lo startup di un nuovo progetto mi sono messo alla riceca di un framework mvc da adottare.
Sapevo che doveva essere in java, di dover utilizzare Spring e Hibernate, quindi cercavo qualcosa che li integrasse o che ne desse supporto nativamente, e che si adattasse ad un domain model diciamo "legacy", .
Guardando le varie comparazioni ([compare]) tra la caterva di web frameworks esistenti, ho iniziato a farmi un idea di quello che faceva al mio caso.
Forse anche influenzato da una serie di articoli che stavo leggendo [wicketseries] ho deciso di provare Apache Wicket, come recita il sito
A Java web application framework that takes simplicity, separation of concerns and ease of development to a whole new level.
Wicket cambia l'approccio di realizzazione di una applicazione web, infatti oltre ad introdurre componenti statefull, si basa su un modello di programmazione ad eventi tipo SWING (grazie all'ausilio di ajax) e separa nettamente lo sviluppo dei componenti dal design della pagina: i template sono in HTML puro e l'attributo wicket:id è l'unico riferimento che hanno con i componenti java.
L'entry point dell'applicazione wicket deve estendere la classe org.apache.wicket.protocol.http.WebApplication ed essere mappata come servlet nel web.xml.
Da qui è possibile linkare, mappare chiamare alte pagine/componenti wicket, con estrema facilità.
L'integrazione con Spring l'ho ottenuta con semplici annotations (@SpringBean), dopo aver aggiunto l'interceptor nella init della WebApplication con
addComponentInstantiationListener(new SpringComponentInjector(this));
Widget, Efetti grafici, behaviour,si ottengono facilmente: Wicket insieme ai progetti di espansione wicket-extension e wicket-stuff offre numerosi componenti ed helper javascript (prototype,dojo,scriptaculous,gwt,jQuery,...) già pronti!!
Sembra quasi che potrò fare questo progetto dalla spiaggia....
fonti:
[wicket]
http://wicket.apache.org/
[wicketseries]
mokabyte
javaworld
[compare]
Simon Brown
JavaGeek
Etichette: develop, java, metodologie di sviluppo, personale, spiaggia