What to expect from your framework
This article is great, and it reminds me of a rant I&#x27;ve been wanting to make for a long time: why the hell does <i>everyone</i> these days insist on building every web app as an SPA?<p>I started my career in Rails. I&#x27;m sick of Rails these days as I&#x27;ve worked with it for long enough to become intimately familiar with its flaws; these days I&#x27;d pick Phoenix over Rails any day of the week. But still, I&#x27;d rather spend a million years with Rails than five minutes with most of the React SPA monstrosities I&#x27;ve had to work with recently.<p>I get it: if you want to build a super-complicated, dynamic front-end, there&#x27;s only so much you can do with the classic Rails-style approach (server-side rendering of HTML templates with some vanilla Javascript, or perhaps jQuery, sprinkled on top). Once you get past a certain level of complexity I can understand the argument for having totally separate &quot;frontend&quot; and &quot;backend&quot; applications where the frontend is built with something like React and the latter renders nothing more than a JSON API.<p>But why, why, <i>why</i> has the entire industry seemingly decided that the latter, complex approach is the default, perhaps even the <i>only</i>, way to build a web application? The last four companies I&#x27;ve worked for all used the &quot;separate FE&#x2F;BE&quot; approach for every app, and at all four companies it was a terrible, unnecessary choice that added exponential amounts of complexity and slowed development to a crawl for no discernible benefit. Time and time again I&#x27;d get frustrated because the most simple, basic features would take ridiculously long to finish, be a nightmare to test, and be full of infuriating little subtleties  and footguns that made the implementation fragile as an eggshell. Even something as simple as adding a &lt;form&gt; would take ten times longer than I knew it would have taken me in Phoenix or Rails.<p>And yet when I try to explain that I don&#x27;t think we need the &quot;separate FE&#x2F;BE&quot; approach for the task at hand, people look at me like I&#x27;ve suggested we don&#x27;t need electricity. It&#x27;s all they&#x27;ve ever known and they can&#x27;t imagine there might be a better way, or at least one that isn&#x27;t so agonisingly, pointlessly complex. What&#x27;s happened to the industry? Why has web development become like this?