Říjen 14th, 2009Apache Wicket - verze 1.4
Apache Wicket zdárně dospěl do verze 1.4, která sebou přináší změny zejména na úrovni podpory generických typů. Tato verze je tedy určena pro javu 1.5 či vyšší.
Po zdravé úvaze jsem se rozhodl přejít na tuto verzi a provést úpravy na stávajícím projektu, který byl psán pro verzi 1.3.x.
Hlavní rozdíly oproti starší verzi
Jak jsem již zmínil, hlavní změnou je podpora generických typů. Bohužel došlo i na změnu v API. Metoda „getModel()“ či „getModelObject()“ byla nahrazena „getDefaultModel…“. Směle jsem se tedy pustil do přeměny pomocí hromadného přepisu (cca 50 výskytů). Naštěstí byla tato změna dostatečná a aplikace je plně kompatibilní s verzí 1.4.
Využitelnost generik
Na jedné straně jsem jásal, že je konečne wicket více typově kontrolovatelný a nemusí docházet k ruzným přetypováním. Na druhou stranu je ovšem dobré poznamenat, že jsou pasáže (viz např. DropDownChoice), které jsou dost neštastně navrženy pro využití generických typů. Problém spočívá zejména v tom, že musím napsat tunu kódu navíc, která nepřináší až tak závratné změny.
Po zhruba měsíční migraci jsem omezil použití generických typů jen na místa, kde to skutečně má smysl (viz např. IModel).
Komponenty třetích stran
To, že je ve Wicketu tvorba znovupoužitelných komponent, hračka, je nepopíratelný fakt. Komponenty třetích stran se tedy spíše soustředí na složitejší věci. Bohužel, v současné době jsem nabyl dojmu, že je vývoj dost chaoticky či vůbec neřízen. Použít některou přídavnou vlastnost z WicketStuff je sázka do loterie. Pokud bych toto porovnal s JSF, je na tom Wicket naprosto žalostně.
Osobně využívám následující přídavné vlastnosti:- wicket contrib javaee 1.1 – podpora pro injectování EJB komponent
- swarm 1.4, wasp 1.4 – pro podporu security management
- grid – jedná se o „rich“ tabulky; kdysi byl projekt vystaven na inmethod.com, poté byl zrušen; pohužel jsem musel udělat vlastní úpravy, aby daná komponenta byla vůbec funkční
Pokud má někdo zkušenosti z dalšími přídavnými vlastnostmi pro Wicket, nechť se o ně podělí v diskuzi.
I přes zmíněné zápory, které jsem zde popsal, je pro mne Wicket tou nejlepší volbou pro tvorbu web aplikací. Je prostě radost s ním pracovat! :)
Říjen 14th, 2009 at 16.39
Já trochu nadával generiky u tabulek:
Jinak generiky maximálně vítám, Wicket je teď ještě o něco lepší než kdy dřív
Říjen 15th, 2009 at 8.39
Ale ten vyvoj byl opravdu dlouhy … pres slepou vetev 2.0 az k soucasne verzi 1.4.x se generika zmenila od toho, ze byly vsude, az k docela rozumnemu pouziti … a clovek si nakonec zvykne a je rad ze tam jsou:-) Wicket je opravdu bomba framework.
Říjen 15th, 2009 at 9.15
Wicket je nejlepší, vo tom žádná.. :)
Jinak co se týče dalších projektů, určitě bych doporučil kouknout na Brix (http://code.google.com/p/brix-cms/), ten je hodně povedenej.
Dále např.
http://code.google.com/p/wicket-tree/
http://code.google.com/p/wicket-dnd/
Integrace JQuery do Wicketu je v současné době podle mě nejlepší:
http://code.google.com/p/wiquery/
Pro toho kde se nechce drbat s grafikou by mohl být užitečný:
http://swit.kornr.net/
Říjen 16th, 2009 at 12.20
zajimalo by me, jak jsi zprovoznil security. zkousel jsem to podle navodu s hive, wasp a swarm-1.4-SNAPSHOT.jar (10 Oct 2009), ale PolicyFileHiveFactory factory = new SwarmPolicyFileHiveFactory(getActionFactory()); nefunguje…
Říjen 16th, 2009 at 13.20
to meo: Ahoj, tak to netusim kde je problem, ja to pouzivam presne tak.
SwarmPolicyFileHiveFactory factory = new SwarmPolicyFileHiveFactory(getActionFactory());
pote:
factory.addPolicyFile(getServletContext().getResource(„/WEB-INF/cesta k hive souboru“));
a nakonec registraci factory
HiveMind.registerHive(getHiveKey(), factory);
Jedine, co me napada, ze k by na classpath melo byt nasledujici:
swarm, wasp, hive, wicomsec
Říjen 16th, 2009 at 15.57
moc dekuju, bylo to tim ze mi chybel wicomsec :))
jinak hodlam pouzivat wicket + guice + warp + hibernate, na prvni pohled to vypada opravdu uzasne a integrace je jeste snazsi nez s EJB3, natoz se springem. neni tam totiz zadny xml, ikdyz by taky slo pridat… :)
Září 8th, 2010 at 3.50
< blockquote >< a href=„http://cheaptabletsonline.com/“>CheapTabletsOnline.Com. Canadian Health&Care.Best quality drugs.Special Internet Prices.No prescription online pharmacy. No prescription drugs. Order drugs online< /a >…
Buy:Synthroid.Actos.Zovirax.Zyban.Lumigan.Petcam (Metacam) Oral Suspension.Mega Hoodia.Prednisolone.Human Growth Hormone.Arimidex.Accutane.Nexium.100% Pure Okinawan Coral Calcium.Valtrex.Retin-A.Prevacid…