Thanks Matt. I found your article pretty similar to this one. If you’re improving on it, probably worth referencing it at the start 😉
I’ve looked into Nuxt a few times but always come back to vanilla Vue with Client-Side Rendering (CSR). Why do you prefer Nuxt?
SEO was an advantage but is debatable (all of my CSR apps have 90–100% for SEO without any special attention). While I believe it works perfectly 99% of the time, the risk is that the crawler doesn’t render the page correctly and misses things.
Initial load performance is better Nuxt (obviously), but with a little work in code splitting it’s not hard for CSR apps to reach >80% for performance. If anyone’s interested here are some tips I’ve found helpful.
The major cost for me (as you mentioned) is that you are paying for the processing while (most of) your customer’s devices are running at <10% CPU usage. Why not use that power?
Also, in the couple of times I tried Nuxt for performance comparison, initial load time differences weren’t significant, and after the initial load the CSR version was more responsive (no server processing time and no page download). May have been my particular setup, or that in those cases it made more sense for CSR apps rather than SSR, but still.