Kapitola 8. Závěr

V předchozích kapitolách jsme postupně analyzovali a představili základní možnosti JSF. Na tomto místě bych rád upozornil, že se jedná o značně rozsáhlý framework a rozsah této práce nám neumožňoval zacházet do podrobností. Některé oblasti byly dokonce vynechány zcela. Tuto práci tedy berte jako pouhý úvod do JSF technologie a pro její hlubší poznání využijte také jinou odbornou literaturu.

Po přečtení textu se mnou jistě budete souhlasit v tom, že JSF framework přináší vývojářům v mnoha směrech značné usnadnění práce. Je v něm integrováno poměrně velké množství funkcionality, která by se bez jeho použití programovala manuálně a navíc s sebou přináší všechny výhody, kterými disponuje Java platforma. Na druhou stranu je třeba říci, že JSF není jediným existujícím frameworkem a pokud bychom ho kriticky srovnali s populárními nástroji jako např. Struts, ASP.NET aj., jistě bychom na něm našli také mnoho nedostatků. Obzvláště když si uvědomíme, že má za sebou relativně krátkou historii (první oficiální verze JSF vyšla v roce 2004).

Pro vývojáře, kteří na JSF přechází z jiné platformy než Java, může představovat hlavní problém relativně dlouhá doba potřebná ke zvládnutí celé technologie. Kromě velmi rozsáhlého frameworku je totiž potřeba obeznámit se s technologiemi Java Servlet a JSP, na kterých je JSF založeno. Pokud by vývojář přecházel z jiného frameworku pracujícího nad Javou, pravděpodobně by již měl tyto technologie zvládnuté.

Další relativně značnou nevýhodou JSF je jeho zatím malá rozšířenost mezi vývojáři a firmami. Úroveň dokumentace proto někdy bývá v porovnání s rozšířenějšími frameworky nižší, diskusních fór a dalších zdrojů na Internetu naleznete méně atd. Nutno podotknout, že tento problém nabývá různých rozměrů v závislosti na konkrétní JSF implementaci. Např. referenční implementace je ze strany Sunu samozřejmě podporována více.

Jedním z možných způsobů jak odhadnout rozšířenost frameworku je analyzovat situaci na trhu práce. Na následujících grafech můžete vidět jak si v tomto případě JSF vede ve srovnání s velmi rozšířenými frameworky Struts a ASP.NET.

Podíly pracovních nabídek na jednotlivé frameworky (zdroj: www.indeed.com)

Obrázek 8.1. Podíly pracovních nabídek na jednotlivé frameworky (zdroj: www.indeed.com)


Graf na obrázku 8.1 znázorňuje podíly pracovních nabídek na jednotlivé frameworky vůči všem pracovním nabídkám na trhu práce. Jak vidíte, v tomto ohledu JSF za svými konkurenty dosti pokulhává. Mezi zaměstnavateli tedy zatím příliš populární není. Na druhou stranu je však třeba vyzdvihnout jeho dynamický vývoj. Když se podíváme na relativní přírůstky pracovních nabídek, je na tom JSF framework oproti svým konkurentům znatelně lépe (viz obrázek 8.2).

Přírůstky pracovních nabídek na jednotlivé frameworky (zdroj: www.indeed.com)

Obrázek 8.2. Přírůstky pracovních nabídek na jednotlivé frameworky (zdroj: www.indeed.com)


JSF frameworku jsou vytýkány také některé technické aspekty. Např. nízká transparentnost. V JSF se totiž odehrává mnoho procesů na pozadí a programátor většinu z nich takřka nemůže ovlivnit. To omezuje možnosti optimalizace aplikací a činí framework pro vývojáře hůře pochopitelným.

Některé výtky občas směřují na rigidní MVC přístup. Na jedné straně se dá označit za výhodu, že JSF implementuje MVC architekturu tak striktně, pokud byste však chtěli použít jiný přístup, máte jen velmi omezené možnosti [4].

Snažit se odhadnout budoucí vývoj JSF by bylo vzhledem k jeho krátké historii dosti obtížné. S ohledem na jeho dosavadní vývoj se však domnívám, že i přes zmíněné nedostatky má potenciál, aby v konkurenci ostatních frameworků nezaniknul a prosadil se. Otázkou zůstává, zda bude s ostatními frameworky na trhu fungovat simultánně nebo je začne postupně vytlačovat.

Bez ohledu na budoucí vývoj JSF věřím, že vám má práce spolu s vytvořenými doprovodnými příklady bude schopna posloužit jako výukový materiál a poskytne vám srozumitelný výklad této technologie.

Jak jsem zmínil v úvodu, veškerý obsah bude studentům i dalším zájemcům k dispozici online na stránkách http://java.vse.cz.

Creative Commons License
Uvedená práce (dílo), jejímž autorem je Bc. David Hanel, podléhá licenci Creative Commons Uveďte autora-Neužívejte dílo komerčně-Zachovejte licenci 3.0 Česko.