Rekomenduje PrimeFaces do nowych projektów, gdzie skalowalność aplikacji nie ma krytycznego znaczenia, ViewScoped to jest jednak stanowe podejście do wytwarzania aplikacji, które ma pewne zalety (i wiele wad też).
@ViewScoped nie jest trudne, wystarczy wiedzieć, że:
- to wycinek SessionScoped
- na jedną kartę przeglądarki przepada 1 ViewScoped
- stan pomiędzy kartami przeglądarek dla tego samego widoku nie jest współdzielony
- jak robimy redirect stan @ViewScoped umiera (również za pomoca nawigacji JSF), przy page forward nie
Po pół roku pisania w PrimeFaces można ekstremalnie szybko pisać przyzwoite aplikacje.
Mam zamiar nauczyć się Angular 2 + BootStrap i zobaczyć różnicę, wypróbuje też pewnie PrimeNG.
@karolinaa:
- czy projekt, który rekomendujesz wykorzystuje jednocześnie CDI i Springa?
- czy nie lepiej użyć po prostu serwera aplikacyjnego, co takiego daje tutaj Spring Boot (z tego co widzę integracja ze Spring Security to może być fajna wartość dodana)?
- mam wątpliwość, czy to będzie działać w pełni jeśli chodzi o CDI, ale chętnie przejrzę: w szczególności ciekawi mnie czy obsługiwane są nowości dodane w JSF 2.2 (np. CDI) @FlowScoped
Testowałem konfigurację Spring Boot + JSF z JSF Managed Beans ViewScoped przeportowanym jako springowy custom scope i działa, ale trzeba mieć co najmniej Tomcat 8 dla JSF 2.2+. Chyba wolę wziąć serwer aplikacyjny bo jest prościej (może WildFly Swarm?). Serwer aplikacyjny wydaje mi się bezpieczniejszym rozwiązaniem, bo jest mniejsze prawdopodobieństwo leaka.
PrimeFaces się bardzo fajnie rozwija np. w 6.0 dodali siatkę w stylu bootstrapa. Poza tym to sensowna ścieżka migracji dla legacy aplikacji pisanych od wielu lat np. w IceFaces (mam na głowie system w IceFaces 3.3 kompatybilne z 1.8 portowane jeszcze kiedyś na JSF 2.2 w ramach życia legacy projektu).