Pytanie o waszą opinię nt. Java Server Faces - jak się zapatrujecie w 2017 roku na tą technologię? Tj. w dobie web components, masy rozwiązań ze strony JavaScript (których nie było, gdy powstaławała technologia JSF), z których najpopularniejsze i ciągle szeroko wykorzystywane to AngularJS, Angular 2/4, ReactJS, Vue JS, Riot JS... i wiele innych.
JSF i nowe projekty w 2017
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Trójmiasto
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Space: the final frontier
- Postów: 26433
JSF, nowe - pick one ;)
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: U krasnoludów - pod górą
- Postów: 4712
JSF jest na liście "omijać" już od ładnych paru lat.
https://www.thoughtworks.com/radar/languages-and-frameworks/jsf
Jako, że pracowałem z JSF przez dość dużo lat... potwierdzam - omijać.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 616
- Możliwość JS, język natywny przeglądarki możesz więcej, jest to o wiele bardziej naturalne podejście niż odsyłanie w serwerze stringów które mają wykonać się jako funkcję w przeglądarce
- Stylowanie koszmar
- Sesja po 5 MB
- ViewExpiredException
- @ViewScope
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Space: the final frontier
- Postów: 26433
@forsberg JSF to zawsze był bardzo dziwny framework, od początku niejako walczący z protokołem http na bazie ktorego działał. W przeciwieństwie do popularnych dziś frameworków typu request-response (Spring MVC, JAX-RS i generalnie wszystkie inne RESTowe) i podejścia Stateless, na siłe próbowano tam forsować podejście oparte na sesjach (wspomniane wyżej SessionScope i Managed Beans). Dodatkowo warstwa kontrolerów była strasznie anemiczna i w dużej mierze sprowadzała sie tylko i wyłącznie do specyfikacji "routingu", tzn który widok ma sie renderować dla dopasowanego urla i potem to z widoku triggerowana była warstwa logiki, co niekoniecznie jest specjalnie czytelne.
Potem w najnowszych wersjach próbowali to jakoś ratować dodając jakieś wsparcie dla REST i Stateless, ale z pustego stosu i Salomon nie zdejmie ;)