SPAs Were a Mistake
It&#x27;s been so frustrating watch this play out over the past decade.<p>I keep seeing projects that could have been written as a traditional multi-page application pick an SPA architecture instead, with the result that they take 2-5 times longer to build and produce an end-result that&#x27;s far slower to load and much more prone to bugs.<p>Inevitably none of these projects end up taking advantage of the supposed benefits of SPAs: there are no snazzy animations between states, and the &quot;interactivity&quot; mainly consists of form submissions that don&#x27;t trigger a full page - which could have been done for a fraction of the cost (in development time and performance) using a 2009-era jQuery plugin!<p>And most of them don&#x27;t spend the time to implement HTML5 history properly, so they break the URLs - which means you can&#x27;t bookmark or deep link into them and they break the back&#x2F;forward buttons.<p>I started out thinking &quot;surely there are benefits to this approach that I&#x27;ve not understood yet - there&#x27;s no way the entire industry would swing in this direction if it didn&#x27;t have good reasons to do so&quot;.<p>I&#x27;ve run out of patience now. Not only do we not seem to be learning from our mistakes, but we&#x27;ve now trained up an entire new generation of web developers who don&#x27;t even know HOW to build interactive web products without going the SPA route!<p>My recommendation remains the same: default to not writing an SPA, unless your project has specific, well understood requirements (e.g. you&#x27;re building Figma) that make the SPA route a better fit.<p>Don&#x27;t default to building an SPA.