The search is over: Grails, Wicket, GWT a Stripes

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.

Grails

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).
  • Úzká vazba na HTML.

Hodí se na:

  • Jednodušší CRUD aplikace s minimální (nebo malou) následnou úpravou.
  • Monotónní formulářové DB aplikace (z hlediska rozhraní) – možnost automatizace generování z šablon.

Apache Wicket

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:

  • Klasické HTML webové aplikace (možnost i AJAXu).
  • Aplikace kde není třeba databáze (není třeba Spring/Hibernate).
  • Menší projekty typu neAJAXový portlet a podobně.

Google Web Toolkit

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:

  • Desktop-like aplikace založené na technologii AJAX.
  • Rich UI aplikace (Web 2.0) nahrazující tlusté klienty.

Stripes Framework

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

Martin Dolozilek, 2009/05/29 17:29

Me prave prijde tapestry jako velmi jedoduche a srovnatelne s Wicket. Ve verzi 5 se podle me jedna o velmi povedeny framework.

Lukáš Zapletal, 2009/05/29 18:30

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í.

Martin Dolozilek, 2009/06/01 10:34

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 ;-)

Robert Vojta, 2009/06/01 18:58

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.

Lukáš Zapletal, 2009/06/01 22:49

No toš mrknu, až bude čas tak určitě.

Enter your comment (wiki syntax is allowed):
If you can't read the letters on the image, download this .wav file to get them read to you.
pridej.cz
blog/2009/0529_1531_the_search_is_over_grails_wicket_gwt_a_stripes.txt · Poslední úprava: 2009/05/29 15:33 autor: lzap
Creative Commons License Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0