The problem with Angular
Rendering on the client makes a lot more sense. By sending the user a template followed by the data necessary to fill it out you only send the structural code once. If the user views 100 pages then that's 99 times you've not had to send the HTML required to display the content. That's good news from a bandwidth point of view, an environmental point of view, and, if you're clever about how you code it, a rendering speed point of view because you only have to replace the <i>content</i> in some DOM nodes rather than repainting the entire template. That can lead to a faster display than swapping in the rendered content for some situations (particularly if the changes are small text  elements and you have a shadow DOM available eg reactjs).<p>If you're doing something <i>very</i> complicated and your users have old or underpowered devices then rendering on the server is sensible, but in the modern web it really isn't appropriate.