Tváře serveru Jakarta - Jakarta Server Faces - Wikipedia

Tváře serveru Jakarta
20110510-jsf-logo.tiff
Původní autořiSun Microsystems
VývojářiEclipse Foundation
Stabilní uvolnění
2.3.2 / 20. srpna 2019; Před 15 měsíci (2019-08-20)
Náhled verze
3.0.0 RC1 / 7. března 2020; Před 9 měsíci (2020-03-07)
Úložiště Upravte to na Wikidata
NapsánoJáva
TypRámec webových aplikací
webová stránkajavadoc.io/ doc/ jakarta. tváře/ jakarta.face-api Upravte to na Wikidata

Tváře serveru Jakarta (JSF; dříve JavaServer Faces) je a Jáva specifikace budovy komponent -na základě uživatelská rozhraní pro webové aplikace[1] a byl formován jako standard prostřednictvím Proces komunity Java být součástí Platforma Java, Enterprise Edition. Je to také a MVC webový rámec což zjednodušuje konstrukci uživatelská rozhraní (UI) pro serverové aplikace pomocí opakovaně použitelných komponent uživatelského rozhraní na stránce.[2]

JSF 2 používá Čelenky jako výchozí systém šablon. Další zobrazovací technologie jako např XUL nebo prostá Java[3] lze také použít. Naproti tomu JSF 1.x používá Stránky JavaServeru (JSP) jako výchozí systém šablon.

Dějiny

V roce 2001 navrhla původní žádost o specifikaci Java (JSR) pro technologii, která se nakonec stala JavaServer Faces, vývoj balíčku s názvem javax.servlet.ui[4]

Do června 2001, JavaWorld by referoval o designu týmu „Amy Fowler“ „JavaServer Faces API“ (neboli „Moonwalk“) - „aplikačního rámce pro vytváření webových uživatelských rozhraní“.[5]

Verze

  • JSF 2.3 (2017-03-28) - hlavní funkce: vyhledávací výrazy, adresy URL bez rozšíření, ověření fazolí pro úplné třídy, push komunikace pomocí WebSocket, vylepšená integrace s CDI.[6]
  • JSF 2.2 (2013-05-21) - Představili jsme nové koncepty, jako jsou bezstavová zobrazení, tok stránek a schopnost vytvářet přenosné smlouvy o prostředcích.[7]
  • JSF 2.1 (2010-11-22) - Údržbové vydání 2 JSF 2.0. Změní se jen velmi malé množství specifikací.[8][9]
  • JSF 2.0 (2009-07-01) - hlavní vydání pro snadné použití, vylepšené funkce a výkon. Shoduje se s Java EE 6.
  • JSF 1.2 (2006-05-11) - Mnoho vylepšení základních systémů a API. Shoduje se s Java EE 5. Počáteční přijetí do Java EE.
  • JSF 1.1 (2004-05-27) - Vydání opravy chyb. Žádné změny specifikace.
  • JSF 1.0 (2004-03-11) - Počáteční specifikace vydána.

Jak to funguje

Založeno na komponentním pohonu UI design-model, JavaServer Faces používá soubory XML s názvem zobrazit šablony nebo Čelenky pohledy. The FacesServlet zpracuje požadavky, načte příslušnou šablonu pohledu, vytvoří strom komponent, zpracuje události a vykreslí odpověď (obvykle v jazyce HTML) pro klienta. Stav komponent uživatelského rozhraní a dalších objektů zájmu zájmu je uložen na konci každého požadavku v procesu s názvem ukládání státu (Poznámka: přechodný skutečný) a obnoven při dalším vytvoření tohoto pohledu. Na straně klienta nebo na straně serveru lze ukládat objekty a stavy.

JSF a Ajax

JSF se často používá společně s Ajax, a Bohatá internetová aplikace vývojová technika. Ajax je kombinace technik a technologií pro vývoj webu, které umožňují vytvářet bohatá uživatelská rozhraní. Součásti uživatelského rozhraní v Mojarra (JSF referenční implementace[10]) a Apache MyFaces byly původně vyvinuty pouze pro HTML a Ajax musel být přidán přes JavaScript. To se však změnilo:

Protože JSF podporuje více výstupních formátů, lze snadno přidat komponenty podporující Ajax a obohatit tak uživatelská rozhraní založená na JSF. Specifikace JSF 2.0 poskytuje integrovanou podporu Ajaxu standardizováním životního cyklu požadavku Ajaxu a poskytováním jednoduchých vývojových rozhraní událostem Ajaxu, což umožňuje jakékoli události spuštěné klientem projít řádným ověřením, převodem a nakonec vyvoláním metody před vrácením výsledku do prohlížeče prostřednictvím aktualizace XML DOM.

JSF 2 zahrnuje podporu pro půvabná degradace když JavaScript je v prohlížeči zakázán.

Komponenty a rámce podporující Ajax

Následující společnosti a projekty nabízejí rámce JSF založené na Ajaxu nebo knihovny komponent:

Nejnovější vývoj

Čelenky (který byl navržen speciálně pro Java Server Faces) byl přijat jako oficiální technologie zobrazení pro JSF 2.0. To eliminuje konflikty životního cyklu, které existovaly s JSP, což vynucuje řešení vývojáři Java.[11] Facelety umožňují snadné vytváření komponent / značek pomocí značek XML namísto kódu Java, hlavní stížnost proti JSF 1.x.

Nový vývoj JSF také poskytuje široký přístup k Anotace Java 5 jako @ManagedBean, @ManagedProperty a @FacesComponent což odstraňuje potřebu tváře-config.xml ve všech případech kromě rozšíření rámce. Navigace byla zjednodušena, což odstranilo potřebu tváře-config.xml navigační pouzdra. Přechody stránek lze vyvolat jednoduše předáním názvu požadovaného pohledu / obličeje.

Přidání částečného ukládání stavu a aktualizace DOM jsou součástí integrovaného standardizovaného Ajax Podpěra, podpora.

Nejnovější verze JSF má integrovanou podporu pro zpracování zdrojů, jako jsou obrázky, CSS a Javascript, což umožňuje zahrnout artefakty do knihoven komponent, rozdělit je do souborů JAR nebo jednoduše umístit na konzistentní místo ve webové aplikaci. To zahrnuje logické pojmenování a správu verzí prostředků.

JSF 2.0 také obsahuje řadu dalších změn, jako je přidání podpory pro události, samostatný vývoj, pracovní a produkční režimy, podobné RAILS_ENV v Ruby on Rails a výrazné rozšíření standardní sady komponent.

Kritiky

Ve své publikaci „Technology Radar“ z ledna 2014 ThoughtWorks napsal:[12]

Nadále vidíme, že týmy se dostávají do problémů pomocí JSF - JavaServer Faces - a doporučujeme vám této technologii se vyhnout. Zdá se, že týmy si zvolily JSF, protože se jedná o standard JEE, aniž by skutečně vyhodnotily, zda jim programovací model vyhovuje. Myslíme si, že JSF má chyby, protože se snaží abstrahovat HTML, CSS a HTTP, přesně naopak, co moderní webové rámce dělat. JSF se stejně jako webové formuláře ASP.NET pokouší vytvořit stavovost na vrcholu protokolu HTTP bez státní příslušnosti a nakonec způsobí celou řadu problémů týkajících se sdíleného stavu na straně serveru. Jsme si vědomi vylepšení v JSF 2.0, ale myslíme si, že model je zásadně rozbit. Doporučujeme týmům používat jednoduché rámce a přijímat a rozumět webovým technologiím včetně HTTP, HTML a CSS.

V článku publikovaném v listopadu 2014 na webu DZone s názvem „Proč byste se měli vyhnout JSF“ napsal Jens Schauder:[13]

Facelety, preferovaná prezentační technologie JSF, vypadá na první pohled jako obyčejná šablonová technologie jako starý dobrý JSP nebo Thymeleaf. Ale když se podíváte blíže, hrůza bude zřejmá. Na stejném místě, kde strukturujete svůj HTML, také umístíte logiku, které části uživatelského rozhraní by se měly při akci aktualizovat. Jasné porušení oddělení obav princip v mé knize. Ještě lepší je okamžitý atribut, který mění životní cyklus na straně serveru! A pokud to nestačí, dělá to různými způsoby podle toho, na jaké značce je používáte. Nemůžete takové věci vymýšlet.

Vyvrácení kritiky

V únoru 2014 Çağatay Çivici (předseda PrimeFaces) reagoval na kritiku ThoughtWorks v příspěvku s názvem: JSF už není to, co vám bylo řečeno. Çivici tvrdí, že vylepšení JSF v průběhu let nabízejí mnoho funkcí, které zahrnují moderní vývoj webových aplikací a poskytují možnost psát vlastní JavaScript, HTML a CSS. Pokud jde o stát, Çağatay napsal:

JSF je svou povahou stavový rámec a stav usnadňuje vývoj webových aplikací. Díky vylepšeným technikám správy stavu zavedeným v JSF 2.0+ (např. Bezstavový režim, částečné ukládání stavu) může JSF také škálovat.[14]

Reference

  1. ^ Technologie tváří JavaServer
  2. ^ „Výukový program JSF 2.0“. mkyong. 12. 12. 2010. Citováno 2017-04-28. JavaServer Faces (JSF) 2.0, je webový rámec MVC, který se zaměřuje na zjednodušení vytváření uživatelských rozhraní (dodává se s více než 100 připravenými značkami uživatelského rozhraní) pro webovou aplikaci Java a usnadňuje implementaci opakovaně použitelné součásti uživatelského rozhraní.
  3. ^ NoVDL: Napište svá zobrazení JSF v čisté Javě
  4. ^ „JSR 127: JavaServer Faces“. Proces komunity Java. Oracle Corporation. 2014. Citováno 2014-08-05. 2.6 Existuje navrhovaný název balíčku pro specifikaci API? (tj. javapi.something, org.something atd.) [:] javax.servlet.ui
  5. ^ Armstrong, Eric (6. června 2001). „Webové služby Java: Co se nelíbí?“. JavaWorld. Citováno 2020-07-27. Rozhraní JavaServer Faces API (aka Moonwalk) slibuje poskytnout elegantní řešení pro implementaci interaktivních funkcí v nekompatibilních prohlížečích. […] Rozhraní JavaServer Faces API, navržené týmem Amy Fowler, architektem AWT a Swing společnosti Sun, poskytne kolekci nástrojů GUI, které budou běžet na běžných prohlížečích pomocí standardního HTML.
  6. ^ Tijms, Arjan. „Co je nového v JSF 2.3?“. Přemýšlení vývojáře Java EE. Citováno 2020-07-27.
  7. ^ JSF 2.2 (JSR-344) je konečný | techscouting prostřednictvím zpráv Java. Blog.oio.de. Citováno 2020-07-27.
  8. ^ JSR 314 JavaServer Faces 2.1 JSF 2.1 | techscouting prostřednictvím zpráv Java. Blog.oio.de. Citováno 2020-07-27.
  9. ^ Bosch, Andy (29. 11. 2010). „Was ist neu in JSF 2.1“ (v němčině). it-republik.de. Citováno 2013-02-19.
  10. ^ Ryan Lubke (5. prosince 2007). „Project Mojarra - JSF RI gets a code name“.
  11. ^ Bergsten, Hans. „Zlepšení JSF vypuštěním JSP“. O'Reilly. Citováno 18. srpna 2011.
  12. ^ "Technologický radar" (PDF). ThoughtWorks. Ledna 2014. str. 12. Archivovány od originál (PDF) dne 07.04.2016. Citováno 2014-01-30.
  13. ^ Jens Schauder (listopad 2014). „Proč byste se měli vyhnout JSF“. DZone.
  14. ^ „JSF už není to, co ti řekli“. PrimeFaces. 2014-02-12. Citováno 2020-11-24.

externí odkazy