I&#x27;m not arguing about decoupling, exposure of APIs, etc. But decoupling doesn&#x27;t mean you have to push all work onto the client. Have a backend server and a frontend server, the latter consuming APIs of the former and rendering content. You have to write that rendering code anyway, and opting to put it all in the browser is saving yourself a small electricity bill by passing it onto consumers, multiplying it millionfold on the way.<p>(Once again, I&#x27;m writing about web <i>pages</i>, not web <i>applications</i> (and no, a blog is not a web application).)<p>Modularization, decoupling, &quot;rule of single-responsibility&quot;, etc. are meant to produce simpler, more maintainable code and better, slicker software. But instead, they&#x27;re taken out of context and abused. Modern web codebases are getting more and more complicated, not less. What people are doing today is not good engineering. It&#x27;s the architecture astronautics&#x27; equivalent of Kerbal Space Program.