Evaluovali jsme s kolegy webové frameworky jiných technologií, než je Java
Server Faces. Doma jsem ještě v přemýšlení pokračoval a zahrnul další
framework Stripes, tohle je takové shrnutí toho, co mi vyšlo. Do přemýšlení
jsme nezahrnuli ty frameworky, které byly příliš komplexní nebo složité
(Tapestry například). To z toho důvodu, že jsme se snažili vybrat něco
lehkotonážního. Berte to dost s rezervou.
Výhody resp. nevýhody:
Velmi rychlý prototyping aplikace typu CRUD.
Strmá křivka učení.
Jazyk Groovy je pro zkušenějšího javistu překvapivě jednoduchý na naučení.
Rychlý návrh modelu.
Jazyk Groovy má spoustu vychytávek, které šetří čas.
Není nutno restartovat server při aktualizacích kódu i šablon.
Obsahuje Hibernate a vše potřebné.
Přímá integrace se Springem.
Možnost rozšiřování o vlastní komponenty (runtime) i o design-time pluginy (tj. „něco generující“).
Určitá nezávislost na prezentační technologii (nativně GSP).
Základní komponenty jsou dost spartánské (například výběr datumu a času).
-
Hodí se na:
Výhody resp. nevýhody:
Strmá křivka učení – jednoduchý design. Stačí jen znalost (X)
HTML a Javy.
Odstínění od
HTTP a sessions.
Podpora Javy 1.5 a anotací.
Možnost obyčejných (klasických) komponent i AJAXových.
Žádný značkovací jazyk – s
HTML výstupem se manipuluje přes
DOM.
Přímá integrace s: Spring, Guice, (vlastní) IOC, JMX, Velocity.
Knihovna o velikosti cca 2
MB.
Prezentační vrstva daná.
Hodí se na:
Výhody resp. nevýhody:
Úplné oddělení od webových technologií.
Po pochopení a akceptování principů relativně rychle zvládnutelné.
Pro běh vyžaduje JavaScript (bez něj aplikace nefunguje).
Cross-compilation do JavaScriptu (podpora více prohlížečů, debugging).
Dobrá podpora tvorby vlastních komponent.
V základní výbavě jen několik komponent.
Možnost rozšíření o ExtJs.
Podpora Javy 1.5 a anotací.
Programuje se podobně jako desktop aplikace.
Prezentační vrstva daná.
Součástí není Hibernate nebo Spring.
Hodí se na:
Výhody resp. nevýhody:
Ultra-lehký framework.
Knihovna pouze 500 kB.
V podstatě pouze MVC framework.
Podpora Javy 1.5 a bohaté využití anotací.
Čistý design.
Úzká vazba na webové technologie (
HTTP, sessions, cookies).
„Udělej si sám (TM) framework.“
Možnost integrace s čímkoliv (Spring, Guice, Hibernate).
Nezávislost na prezentační technologii.
Hodí se na:
Velmi jednoduché aplikace (portlet…)
Komplexní aplikace s podporou mnoha dalších knihoven.
Aplikace kde není třeba databáze (není třeba Spring/Hibernate).
Aplikace se speciálními požadavky na prezentaci.
Budu rád, když doplníte další výhody, nevýhody. Případně jiný framework.
Diskuze
Me prave prijde tapestry jako velmi jedoduche a srovnatelne s Wicket. Ve verzi 5 se podle me jedna o velmi povedeny framework.
Já naposledy zkoušel Tapestry 3.x, a od té doby jsem si udělal na tento framework obrázek složitého molocha. Ale vím, že vývojáři slibovali jak ve verzi 4 tak v 5 výrazné zjednodušení.
Tapestry5 ma velice pekny system anotaci a vlastni dependency injection kontejner (injektace probiha pomoci anotaci), ktery je mozne propojit se springem. Urcite se na T5 koukni, stoji to za to
Tapestry 5 je myslím si velmi povedený framework. Mě osobně dost seděl. Teď jsem v něm dělal jeden projekt a nádhera. Přijde mi lepší než třeba šílená kombinace JSF & ICEfaces, atp.
No toš mrknu, až bude čas tak určitě.