Maciej Nowicki

Maciej Nowicki Java Developer

Temat: JSF + ...no właśnie co?

Robię obecnie research tematu JSF + Primefaces. W JSF jestem dość zielony, dotąd pisałem głównie z użyciem GWT, lub portletów na SpringMVC w połączeniu z Liferay, choć pewne doświadczenie z ADF i Oracle Webcenter też mam.

Primefaces wyglądają świetnie, na warstwę prezentacji nadadzą się idealnie. Chciałbym sobie jednak zaoszczędzić niepotrzebnej pracy i zastanawiam się, jakie sensowne "gotowce" można by zastosować do obsłużenia takich tematów jak autentykacja, bezpieczeństwo, zarządzanie rolami, użytkownikami itp.? Chciałbym mieć gotowy szkielet aplikacji i od razu zacząć pisać "mięsko".

Z tego co googlowałem odpowiednika Spring Roo/Appfuse który wygenerowałby mi taki szkielet aplikacji wraz z supportem dla JSF w widoku raczej nie ma?

A może pójść w stronę Liferaya którego znamy i robić tylko same portlety na Primefaces?

Czy po prostu napisać takie rzeczy jak zarządzenie użytkownikami, rolami, logowanie itp. samemu?

Doradźcie proszę w którą stronę waszym zdaniem warto iść.

konto usunięte

Temat: JSF + ...no właśnie co?

odpowiednika jsf-owego Spring Roo jak sam zauważyłeś nie ma, takie rzeczy jak wymienione przez Ciebie (autentykacja, role itd) trzeba samemu wpleść. JSF (primefaces), Spring, Spring Security daje się łatwo zintegrować, ale nie będziesz mieć tego w 5 minut jak w Roo:)

Co do samego primefaces, to wygląda całkiem efektownie (w końcu to komponenty jQuery UI na warstwie widoku), jednak showcase pokazuje proste hello world'y, czasem można się naciąć żeby zbudować coś sensownego, zwykła checkbox lista do dzisiaj zawiera dwa poważne bugi które trzeba wyszukać na 3-4 stronie googla żeby to rozwiązać. Komponent łączący lazyloading w primeface'owym datatable z hibernate'owym criteria api, żeby nie pisać w kółko tego samego pisałem ładnych parę godzin.

Jeśli opanujesz szkielet Hibernate+Spring+JSF, jesteś w stanie szybko postawić cały system w kilka chwil, ale implementowanie pewnych rzeczy "niestandardowych" niż przewiduje to JSF trwa o wiele dłużej i wtedy zaczyna się tęsknić za prostym Spring MVC i pisaniem bardzo elastycznych aplikacji.

Technologie jsf-owe, którymi warto się zainteresować, żeby usprawnić pracę w tym środowisku:
PrettyFaces do url-rewriting
OmniFaces, żebyś nie pisał własnych Utilsów do JSF, bo 90% wykorzystywanych dobrych metod znajdziesz w tej klasieAndrzej Cichoń edytował(a) ten post dnia 06.05.13 o godzinie 15:20
Maciej Nowicki

Maciej Nowicki Java Developer

Temat: JSF + ...no właśnie co?

O tym że JSF jest technologią w której rzeczy z tutoriala pisze się banalnie, a niestandardowe przyprawiają o ból głowy to już się przekonałem pisząc w ADF (opartym na JSF 1.2) pod Oracle Webcenter. No ale szukam frameworku "ładnego" i w którym pisanie (po przeskoczeniu pierwszych problemów) będzie produktywne, a pod tym względem zestaw JSF + Primefaces wygląda obiecująco.

Właśnie rzeźbię sobie taki szkielecik (obsługa userów, ról, administracja itp.), ale mam wrażenie że głupio robię bo wyważam otwarte drzwi. A co sądzisz o skorzystaniu z Liferaya i robieniu z Primefaces jedynie portletów?

konto usunięte

Temat: JSF + ...no właśnie co?

Niestety nigdy nie grzebałem w liferayu, więc tutaj się nie wypowiadam :)

A co do nauki JSFa, to polecam oprócz oficjalnej literatury także blog + wypowiedzi na stackoverflow gościa o nicku BalusC. Najbardziej otrzaskany w JSFie developer, jakiego kojarzę. Masa naprawdę rzetelnej wiedzy.
Tomasz D

Tomasz D Programista
Java/JEE, freelancer

Temat: JSF + ...no właśnie co?

Popatrz jeszcze na nasz firmowy moduł do JSF-ów:

https://github.com/softwaremill/softwaremill-common/tre...

Robilismy sporo projektów dla banku w Afryce, które miały używać JSF-a, więc w tym module wylądowało trochę przydatnego stuffy, którego nie ma w samym frameworku.

A już odnośnie JSF-a... to ta biblioteka w nowym projekcie? Why oh why?! :)
Maciej Nowicki

Maciej Nowicki Java Developer

Temat: JSF + ...no właśnie co?

Tomasz D.:
Popatrz jeszcze na nasz firmowy moduł do JSF-ów:

Dzięki, przejrzę chętnie w wolnej chwili :)
A już odnośnie JSF-a... to ta biblioteka w nowym projekcie? Why oh why?! :)

Dlaczego? Sam nie wiem, szukam, macam póki co, korzystając z chwili wytchnienia przy innych projektach ;)

Chcę znaleźć framework/zestaw frameworków który pozwoliłby na:

a) Szybki start nowej aplikacji - najlepiej żeby dostępny był szkielet, obsługa bezpieczeństwa, użytkowników itp. Może nawet funkcjonalności CMSowe. Coś jak Spring Roo/Appfuse. Dotąd w takich przypadkach stawialiśmy Liferaya i na nim budowaliśmy wymagane funkcjonalności w portletach, ale z kolei to czasem wygląda na strzelanie do wróbla z armaty.

b) Duży zestaw, ładnie wyglądających, ajaxowych komponentów out of the box - głównie dlatego zainteresowałem się Primefaces. Dodatkowo fajnie żeby to wszystko wyglądało ładnie out of the box - zespół jest mocny w backendzie, ale rzeźbienie frontu każdy traktuje jak dopust boży...

c) Szybki development - żeby nie pisać masę niepotrzebnego kodu, szybko dodać nową formatkę itp.

Osobiście najbardziej leży mi czyste GWT - pisze mi się w tym najwygodniej, bo nie trzeba wcale dotykać HTMLa i Javascriptu. Popełniłem aplikację na czyściutkim GWT, bo w niej akurat ważne są technikalia i klient ma w kompletnym poważaniu, że GUI jest biało-niebiesko-szare - aby było. No i (czyste) GWT nie spełnia punktów a) i b)

Chcę spróbować JSF bo Primefaces są ładne, a i sama technologia ma swoje przewagi nad SpringMVC+jsp, które zacząłem dostrzegać już przy ADF opratym na JSF 1.2 - liczę więc, że na JSF 2.2 będzie dużo lepiej.

Zaczynam się skłaniać ku spróbowaniu Liferaya w połączeniu z portletami na Primefaces, przynajmniej będzie solidna i uznana podstawa pod aplikacje i "gratis" kompletny portal z funkcjonalnościami CMSowimi, jeżeli zajdzie taka potrzeba.

konto usunięte

Temat: JSF + ...no właśnie co?

Możesz spróbować jeszcze Seam'a w wersji 2.3. Domyślnie używa się tam RichFaces 4 ale można to spokojnie zastąpić PrimeFaces. Tylko niestety - Seam jest na wymarciu.

Następna dyskusja:

Problemy z formularzami w JSF




Wyślij zaproszenie do