Odpowiadaj proszę w postach.
Chcesz mi powiedzieć, że jedynym słusznym podejściem do tworzenia aplikacji internetowych jest Client Side Rendering(jak rozumiem o to Ci chodzi)? Zrobiłem małe badanie tematu i z tego co się dowiedziałem, zarówno generowanie po stronie serwera jak i po stronie klienta ma swoje plusy i minusy stąd nie rozumiem skąd u Ciebie przekonanie, że powinienem zorganizować to w sposób jaki opisałeś, tym bardziej, że nie znasz szczegółów mojego projektu.
Nie. Jedynym słusznym podejściem jest całkowita separacja backendu (API) od frontendu (aplikacja webowa).
To czy będziesz używał CSR (client side rendering) czy SSR (server side rendering) zależy od sposobu w jaki zbudujesz aplikację webową. Dla Vue istnieje np. https://nuxtjs.org/ który pozwala Ci na implementacje SSR bardzo małym kosztem.
Założmy taki sceniariusz:
Użytkownik wchodzi na podstronę /kontakt
a następnie klika w link /oferta
.
Co się zadzieje w przypadku aplikacji:
a) Laravel (własna implementacja SSR + Vue)
Użytkownik wykona 2 razy żądanie GET przez co będzie musiał pobrać cały HTML od nowa.
b) NuxtJS
Użytkownik za pierwszym razem wykona żądanie GET, drugie żądanie nie będzie miało miejsca, chyba, że po ew. zasoby do API.
Boty (dla których się buduje aplikacje SSR) nie będą widziały różnicy pomiędzy a) i b) - użytkownik natomiast ją zobaczy w szybkości działania tj. b) jest znacznie szybsze.
Chociaż i tak najważniejszym argumentem jest przejrzystość kodu, łączenie ifów laravela z ifami z Vue - tego się nie będzie dało debugować przy bardzo skomplikowanym kodzie i programista straci trochę włosów (oby nie zębów ;)).