Wpis z mikrobloga

Takie pytanie do mireczkow z tagow #frontend #backend no i #java.
Jeżeli stack technologiczny to powiedzmy java + spring na serwerze i JS + jakiś framework typu angular/backbone po stronie klienta to jaki jest zalecany, najnowszy sposob zapobiegania powtarzajacego się kodu HTML?
Powiedzmy ze navbar + footer powtarzaja sie na każdej stronie i chcemy tego uniknąć - przychodzi mi na myśl co najmniej kilka sposobów i zastanawiam się jaki jest obecnie zalecany 'standard':
-Thymeleaf/Apache Tiles (czy coś podobnego) + uzupełnienie reszty strony danymi z JSON'a (czyli częściowe renderowanie strony po stronie serwera), albo
-Glówna templatka (navbar & footer) w Mustache/Handlebars + załadowanie reszty strony (np. z użyciem jQuery) korzystając z mniejszych podstron zakodowanych w handlebars (wszystko po stronie klienta).

Jakie byłoby najlepsze (najbardziej optymalne) rozwiazanie?
#webdev #programowanie #javascript
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@0verpress3d ja mam taki sam stack javowy i angulara ale robię SPA (chyba tylko wtedy angular ma sens), więc mam cały czas widoczne te same elementy jeśli chodzi o nawigację (zmieniają się tylko zagniezdzone widoki). A jeśli chodzi o wszystkie inne mniejsze czy większe elementy na stronie to używam angularowych komponentów, czyli mam jedną templatke do każdego powtarzającego się elementu w aplikacji, parametryzowana w miarę potrzeb.
  • Odpowiedz
@0verpress3d: Jak ma być framework frontendowy i nie chcesz żeby frontendowcy cię k------i to niech backend skończy się na wystawieniu API i zaserwowaniu statycznych plików apki, a javascript już sobie poradzi.
Mieszanie renderowania na serwerze z apką na froncie to jest dramat.
  • Odpowiedz
  • 0
@Johnny_
@ogur Dzięki panowie, ma to sens. Projekt robię do nauki, ale chciałem podążać za najlepszymi praktykami. Czyli w sumie moje rozwiązanie nie jest najgorsze - trzymanie "komponentów" strony w plikach handlebars i ich doładowywanie przez jQuery w miarę potrzeb?
W Angularze jest eleganckie rozwiązanie, ale ja korzystam z Backbone i tutaj View jest mocno abstrakcyjny, sam w sobie HTMLa nie zawiera.
  • Odpowiedz