Komponenty w server side view (a w tle wątku Wicket)

0

Już objaśniam skomplikowane pytanie ;)

Mam na myśli widoki generowane Server Side, czyli te "niemodne". Na przykład Spring MVC (bo to wszyscy rozumieją, albo przynajmniej tak myślą), choć nie skupiajmy się na tym. Na przykład widok w Ratpack

Przykład (rzeczywisty) takiego komponentu, to generyczna SuperDuperHtmlTable, powtarzająca się na wielu stronach (widokach), a służąca prezentowaniu wyników z kwerend bazodanowych, z dzieleniem tabeli na sekcie, nagłówkami, subtotalami i totalami itd...
Lub inne komponenty, np generyczny nagłówek / filtr do tych kwerend.
SuperDuperHtmlTable jest o tyle miłe, że nie charakteryzuje się stanem, czysty GET, więc możecie na razie o tym myśleć.

Mój ułomny przegląd możliwości pozwala mi odnotować następujące możliwości:

  • Thymeleaf, Mustache - na obecnym etapie nie wymyśliłem, może się nie da???
  • JSP View - zrobić swoje JSTL tagi, lub wyrażenie EL (hiper duper ??? jeśli w ogóle, to brzydkie)
  • Facelet'sy (tak, nawet w Springu jest taka technologia widoku). Niemal jak powyżej. Swoje tagi. Na marginesie, Primefaces ma podobną SDHTable, ale niemal niemożliwe by zadziałała w tak uproszczonym cyklu życia.

Motywacje. Dla chcących zrozumieć kontekst, lub się spierać.
Od wielu lat uprawiam Apache Wicket, gdzie tworzenie komponentów to bajka, która nawet seniora nie potrzebuje, a odbywa się w czystym kodzie Java i adekwatna do komplikacji komponentu znajomość HTML (czyli bardzo niska). Kompozycja lub dziedziczenie, sama elegancja.
W naturalny sposób jest stanowy (statefull) ale można bezstanowy (stateless). Perfekcyjnie się AJAXuje

Inne komponentowe frameworki (zarazem są statefull) to

  • Vaadin, najbardziej podobny do Wicketa, stoją za nim znaczne pieniądze. Raczej nie jest "niemodny", ma starter w Boocie.
  • JSF (mam znajomość na pozimie troszkę wyższym niż HelloWorld, nie uprawiam na produkcji). Powołanie komponentu już jest sporo trudniejsze, ale możliwe
  • Apache Tapestry. W latach gdy wybierałem technologię, wymagał 3 plików per komponent (XML/HTML/Java), obecnie zredukowali. Nie mam szczegółowej wiedzy.

Jestem niepomiernie zdziwiony, jaki wielki krok wstecz bym musiał wykonać, przechodząc do "modnych" technologii. Nie chcę w tym poście się zagłębiać w dyskusje nt Client Side, krótko jest mi (niemal) zbędne.

Wracając do pytania o bardziej surowy View, np Springowy, jakie pomysły mi podrzucicie do poczytania / popróbowania.

1

Propozycja: zrób raz normalnie, dla nauki, A potem zobacz czy jesteś bardzo wstecz.

0
  1. JSF to tylko dokumentacja. Niby jest jakaś przykładowa implementacja ale za dużych możliwości nie miała jak się tym interesowałem.
  2. Primefaces to implementacja JSF. Kiedyś była najlepsza z implementacji JSF. Ale i tak nie chciałbym w tym drugi raz pracować.
  3. Nie rozumiem czemu nie chcesz użyć Wicket? Jakbym miał wybierać coś totalnie różnego to wybrałbym Thymeleaf lub Mustache. A ze Scalą twirl lub Scalate. Jak cos podobnego to Vaadin
0
KamilAdam napisał(a):
  1. Nie rozumiem czemu nie chcesz użyć Wicket? Jakbym miał wybierać coś totalnie różnego to wybrałbym Thymeleaf lub Mustache. A ze Scalą twirl lub Scalate. Jak cos podobnego to Vaadin

**Wicket **? Rozglądam się, tzn "cza się rozwijać". Nawet papier toaletowy to robi.

Ale im bardziej się rozglądam, tym bardziej wzrasta moje uznanie dla chłopaków ;)

Może nawrócę @jarekr000000 ? ;)
Wstrzykiwanie nie jest konieczne, rdzeń na tym nie pracuje, jest w modułach, developerka przez kod javowy, a nie czary, Zamiar frameworku nie wykracza poza rozsądek (tzn nie wtrąca się do backendu, "najniższy dół" to zaimplementowanie IModel). Aha, adnotacji nie ma w core, jest w wicketstuff, czyli druga linia opcjonalna ;)

Od wersji 8 ma streamy, lambdy, Optional w core też jest.** Generalnie polecam**, potrzebującym pomogę kilkoma tipami.

EDIT Aha, @KamilAdam, co do motywacji, to poromansował bym z Ratpackiem w zakresie produkcyjnym. Ale to może w czymś przyszłym dwuwarstwowym.

0
KamilAdam napisał(a):
  1. JSF to tylko dokumentacja. Niby jest jakaś przykładowa implementacja ale za dużych możliwości nie miała jak się tym interesowałem.
  2. Primefaces to implementacja JSF. Kiedyś była najlepsza z implementacji JSF. Ale i tak nie chciałbym w tym drugi raz pracować.
  3. Nie rozumiem czemu nie chcesz użyć Wicket? Jakbym miał wybierać coś totalnie różnego to wybrałbym Thymeleaf lub Mustache. A ze Scalą twirl lub Scalate. Jak cos podobnego to Vaadin

Cześć. Pozwolę sobie skomentować dwa punkty powyższej odpowiedzi.
Ad 1. JSF jest to jedna ze specyfikacji Javy EE, obecnie Jakarty EE. Istnieje wiele implementacji JSF. Serwery aplikacyjne Javy np. WildFly, Payara zawierają implementację JSF. Natomiast można przyznać, że JSF nie jest obecnie już popularnym wyborem.
Ad 2. PrimeFaces nie jest implementacją JSF. PrimeFaces to dodatkowa biblioteka, która rozszerza funkcjonalności JSF.

1 użytkowników online, w tym zalogowanych: 0, gości: 1