This is a question I've been asking myself for the latest project I've been involved. So, basically: should we always do client-side rendering or there are some guidelines we should follow in order to know which approach is the best?
When I use frameworks like ReactJS I always ask myself if I really need an API for my project.
Atul Sharma
Full Stack Developer | Cloud Native Applications
There is no need for a client library (for rendering) until you need to make a lot of DOM manipulations or If you are making a single page application. (React / Angular / Vue).
Unless your application/website is divided across multiple pages and doesn't requires a lot number of DOM manipulations (Lot of event based animations / Async transfer of data / ... ) there is no need for client rendering .. server works best (ejs/jade for node).
There is no need to add complexity by un-necessary adding client rendering library and then using server-rendering for SEO & first load unless you want to do this for learning.
Front-end rendering best suited for - E-commerce/ Real State websites/ Portals where user need to apply 10's of filters , sorting and other operations which requires re-rendering of view extensively.
For simple blogs / portfolios / websites its of little to no use.