pátek 29. února 2008

Do pranice: komponentové a nebo požadavkem řízené webové frameworky

Ve středu jsem si v rámci CZJUGu náramně užil přednášku Petra Ferschmanna (záznam) o frameworku JBoss Seam. Během poslechu přednášky, kdy Petr mluvil o problémech JSF ve mě začal hloubat červíček pochybnosti, jestli jsou komponentově řízené web frameworky tou správnou cestou. Petr se teď určitě otáčí kolem do kola ve své ředitelské sesli a chytá se za hlavu, protože nám důrazně kladl na srdce, že problémy s JSF sice měli, ale nakonec, že to nebyly problémy a že to byly vlastnosti JSF.

Jedním z problémů, o kterých jsme se bavili, bylo mnohonásobné volání gettrů v různých fázích životního cyklu JSF požadavku. Petr mě nakonec přesvědčil, že ani tak není problém s komponentovým přístupem, jako spíše s tím, jak jsou JSF naimplementovány či navrženy. Ve vzduchu tak z;staly viset pouze dva otazníky, kam serializovat viewstate a jak je to s výpočetní náročností vystavení komponentového stromu. Já osobně jsem vždy používal požadavkem nebo chceteli příkazem (command base) řízené frameworky jako Struts a nebo Spring MVC.

Když to vezmu obecně, tak komponentově řízené frameworky umožňují a nebo se o to alespoň snaží vývojáře odstínit od toho, že tam někde venku je HTTP protokol. Jsou tedy o patro výše nad požadavkem řízenými frameworky z pohledu abstrakce, kterou nabízejí. Otázkou zůstává jestli je vůbec možné zakrýt paradigma žádosti/odpovědi a pokud ano, jestli tím výrazně neutrpí například rychlost zpracování požadavku a nebo nestoupne přespříliš komplexnost použitého řešení. Stejně tak je otázkou jestli jsou JSF se svými problémy vhodným zástupcem komponentového frameworku a neměli bychom šáhnout po něčem jiném a nebo minimálně počkat na JSF 2.0.

S trochou nadsázky bych řekl, že je v Česku snazší zvolit prezidenta než čekat konsensus javovských vývojářů na tom, který webový framework zvolit ;-).