Dawniej javascript służył głównie do jakichś animacji/sliderów i innych pierdółek. Jak ktoś wrzucił gdzieś jakiegoś ajaxa to był już cud :] Większość "roboty" brał na siebie serwer, który zajmował się renderowaniem strony. Teraz JS kwitnie, znacznie bardziej popuarne są "grube" klienty. Serwer nie zajmuje się już renderowaniem, a tym, czego nie może zrobić frontend - dostęp do bazy, autentykacja, logika biznesowa. Dzięki temu aplikacje są bardziej "płynne", nie wymagają ciągłego odświeżania, a serwer jest odciążony. REST to po prostu najpopularniejszy sposób wymiany danych między frontem a backendem.
Czy dobrze jest mieszać np. Angulara z Laravelem?
Właściwie klienta nie obchodzi co stoi za RESTem, możesz tam nawet w COBOLu pisać.
czy lepiej jest jako server-side mieć node.js, żeby i tu i tu był javascript?
Istnieją takie techniki jak prerendering
czy isomorphic javascript
, o których możesz sobie pogooglować. Ale musisz pamiętać, że te techniki to tylko renderowanie po stronie serwera, nie mają one zbyt dużo wspólnego z RESTem.
Czy backend w postaci laravela/node.js itp. jest koniczny jeżeli chcemy skorzystać z Angulara?
Teoretycznie nie, jeśli twoja aplikacja nie ma żadnej bazy danych, logowania itd. Tylko wtedy (oczywiście są wyjątki) taka strona będzie prawdopodobnie na tyle mało skomplikowana, że wpakowywanie tam jakiegoś Angulara to wyciąganie armaty na muchę.
Maciej Cąderek