The biggest issue is flexibility. What if you don’t know if a page is going to need SEO or rich client side functionality when you build it, but then it does later? Do you want to rewrite the page from scratch every time that happens? This is especially true when you’re trying to maximize productivity for junior devs on a large team. Are all devs working on the site knowledgeable enough to make the static site vs CSR call correctly when they first start working on every new page? Wouldn’t a “Use framework X and we’ll figure that part out later” approach be easier for everyone?
Also, what about pages that need both SEO and rich client side functionality. You can choose to limit yourself to only one or the other on any given page, OR you could use hydration to have your cake and eat it too. Maybe react or vue isn’t the right abstraction, but if we can come up with a strong enough abstraction, hydration is a really useful general purpose pattern.
Debugging code: https://www.reddit.com/r/ProgrammerHumor/comments/4930p8/when_debugging_code/
Credit to: We Bare Bears
UX design: https://youtu.be/baY3SaIhfl0?si=3AWXgCabjIEn_4T
Credit to: Alison Burke
Systems engineering: https://goomics.net/106/
Credit to: Manu Cornet