Tak Stripes, Wicket nebo Tapestry? Muze nekdo shrnout pros_n_cons ?
LZ
Wicket je zase komponentovo orientovany - kym v MVC pracuje stranka
plusminus nad jednym modelom, kazdy wicketovsky komponent moze mat
vlastny model, ktory sa aktualizuje nezavisle od ostatnych.
Zhrnutie Wicketu
* filozofia OOP sa pouziva napriec celym frameworkom - dedicnosti,
kompozicie a vnutornych tried
je tam pozehnane. Ak chcete zmenit spravanie nejakeho komponentu,
jednoducho oddedite danu metodu
a je "vystarano".
* idey su znacne ovplyvnene Swingom. Komponenty su nemanazovane -
vytvaraju sa ich instancie, ktore
sa hierarchicky pridavaju do nadradenych komponentov (textove pole do
formulara, ten do stranky atd.)
Rovnako sa nerozmysla v pojmoch ako session-request a response, ale v
komponentovo-udalostnych
pojmoch. Prikladom je komponent link, vytvori sa jeho instancia, prida do
formulara,
oddedi sa metoda onClick() a v nej sa uvedie kod. K dispozicii je pomerne
velky pocet roznych
komponentov, pre menej bezne a uzitocne komponenty existuje wicketovsky
subprojekt.
* komponenty je mozne samozrejme skladat a znovupouzivat, co je dost velka
vyhoda (podobne
ako v JSF). Je mozne si urobit komplexny komponent zobrazujuci profil
pouzivatela a pouzit ho takpovediac
na jeden riadok v lubovolnej stranke. Vytvaranie vlastnych komponentov je
velmi jednoduche
(oddedime, zmenime prislusne spravanie, dodame HTML sablonu so vzhladom).
* ziadna aplikacna logika v templateoch (skoro ciste HTML, niekolko malo
specifickych tagov
s prefixom wicket). Stranky je mozne principialne prezerat a editovat
v lubovolnom WYSIWYG editore (pouzitie dedicnosti (napr. kvoli jednotnemu
vzhladu) to vsak
moze skomplikovat).
* filozofia templateov je podobna Tapestry: v HTML kode sa priradi tagu
specialny
identifikator cez (wicket:id) a v Java triede sa vytvori instancia triedy.
* pomerne vysoka uciaca krivka - pochopenie fungovania modelov,
ktory-kde-kedy pouzit
trochu trva a musi sa vzit. Ak vsak clovek pochopi tu celkovu filozofiu
(ktora je v principe
velmi jednoducha), produktivita rastie.
* vyborna podpora cez mailing list. Ak je nejaka vec, ktora v dokumentacii
chyba,
otazka do mailinglistu da odpoved velmi rychlo a velmi privetivou formou.
Inak s vyjdenim Spring 2.5 znacne prekopali aj MVC cast. Je o tom clanok
na java.cz
portale - anotacie a convention-by-configuration su moznosti, ktore Spring
MVC
znacne priblizuju filozofii Stripes.
RN