All posts
Web Development
4 min read8/29/2026

The End of SPAs: Why Multi-Page Apps Are Making a Comeback

Single-Page Applications (SPAs) have dominated web development, but their inherent complexities and performance pitfalls are pushing developers back towards the simpler, more robust Multi-Page Application (MPA) model. It's time to re-evaluate what truly delivers value.

Share X LinkedIn

Tip: use ← / → to browse posts.

The End of SPAs: Why Multi-Page Apps Are Making a Comeback
## The End of SPAs: Why Multi-Page Apps Are Making a Comeback For the better part of a decade, Single-Page Applications (SPAs) reigned supreme in web development. The allure of native-app-like experiences, rich interactivity, and a clear separation between frontend and backend logic was irresistible. Frameworks like React, Angular, and Vue soared in popularity, promising a modern, efficient way to build web applications. But, like all dominant paradigms, the cracks are beginning to show. We're seeing a quiet but significant shift back towards Multi-Page Applications (MPAs), or at least hybrid approaches that lean heavily on MPA principles. It's time to admit that the SPA emperor isn't wearing as many clothes as we once thought. ### The SPA Hype: What Went Wrong? The promise of SPAs was compelling: a single initial load, subsequent data fetched via APIs, and a seamless user experience. However, this promise often came with significant caveats and hidden costs: 1. **Performance Debt:** Initial load times for SPAs can be abysmal. Bundling massive JavaScript files, even with code-splitting, means users often stare at a blank screen or a loading spinner while the entire application bootstraps. This directly impacts user experience, especially on slower networks or less powerful devices. 2. **SEO Challenges:** While search engines have improved their ability to crawl JavaScript-heavy sites, SPAs still pose inherent SEO challenges. Server-side rendering (SSR) or pre-rendering mitigates this, but adds significant complexity, setup, and maintenance overhead, essentially bringing back server-side concerns that SPAs were supposed to abstract away. 3. **Complexity and Bundle Size:** Managing state across a large SPA becomes a monumental task. The sheer volume of JavaScript required for even moderately complex applications often leads to huge bundle sizes, impacting performance and development efficiency. Dependencies proliferate, and versioning nightmares are common. 4. **Developer Experience (Paradoxical):** While frameworks promise a great dev experience, the reality of debugging large client-side codebases, dealing with hydration issues, and maintaining intricate state management can be a significant drag. The build processes are often slow and resource-intensive. 5. **Accessibility Headaches:** Building truly accessible SPAs requires meticulous attention to ARIA attributes, focus management, and keyboard navigation – tasks often overlooked or poorly implemented, leading to subpar experiences for users with disabilities. ### The MPA Renaissance: Simplicity Wins What makes MPAs suddenly appealing again? It's not a return to the primitive, but a re-evaluation of fundamental web principles and an embrace of pragmatic simplicity. 1. **Inherent SEO:** MPAs, by their nature, provide distinct URLs for each page, with server-rendered HTML. This is exactly what search engines are built to crawl and index, no complex workarounds needed. 2. **Faster Initial Load (Perceived and Actual):** Each page load is fresh, delivering only the HTML, CSS, and minimal JavaScript required for that specific view. This means faster time-to-first-contentful-paint and a more resilient experience for users. 3. **Simpler Caching:** Browser caching works beautifully with MPAs. Assets like CSS and shared JavaScript can be cached globally, while individual page loads remain lightweight. 4. **Robustness and Maintainability:** The separation of concerns is clearer. Server-side logic renders pages, and client-side JavaScript augments specific interactions. This often leads to smaller, more manageable codebases and fewer interconnected dependencies. 5. **Progressive Enhancement:** MPAs are perfectly aligned with progressive enhancement. You start with a functional, accessible HTML document, and then layer on JavaScript for enhanced interactivity. This provides a solid baseline even if JavaScript fails or is disabled. ### Modern MPA Tools and Approaches This isn't about ditching JavaScript entirely, but about using it judiciously. Frameworks and libraries are emerging that champion this hybrid approach: * **HTMX / Alpine.js:** These lightweight libraries allow you to add interactivity directly to your HTML, fetching and swapping fragments of HTML from the server without full page reloads. It's reactivity without the SPA overhead. * **Server Components (e.g., React Server Components):** While still evolving, this paradigm aims to render components on the server and stream them to the client, blurring the lines between traditional SSR and client-side rendering while reducing client-side JavaScript. * **View Transitions API:** A browser standard that enables smooth transitions between pages in an MPA without full page refreshes, giving a 'SPA-like' feel with MPA benefits. * **Mature Backend Frameworks:** Rails, Django, Laravel, and others have excellent templating engines and often integrate seamlessly with modern frontend tooling for sprinkles of interactivity. ```html <!-- Example: HTMX for dynamic content loading --> <button hx-get="/api/items" hx-target="#items-list" hx-swap="outerHTML"> Load More Items </button> <div id="items-list"> <!-- Initial items loaded from server --> </div> ``` For many applications – content sites, e-commerce stores, internal tools, and even complex dashboards – an MPA or a hybrid approach with minimal client-side JavaScript provides a superior combination of performance, maintainability, accessibility, and SEO. The SPA was a powerful tool, but it became a default choice for too many use cases where its complexity wasn't warranted. It's time to build web applications that prioritize user experience and developer sanity, not just framework dogma. The MPA is back, and it's smarter than ever.
web development
mpa
spa
htmx
frontend architecture
Share X LinkedIn

What clients say

Real reviews from founders and teams we've shipped with.

5.0 · 6 reviews
"Live streaming forex content was a huge lift — Hashim delivered without a single hitch."
Yusuf K.
Founder, Live Forex TV
"From concept to launch in weeks. The browser project set a new bar for our team."
Vikram J.
Founder, Finup Browser
"Grok integration for real-time X data was the differentiator our product needed. Fast to prototype, faster to ship."
xAI Integration
Grok · Real-time X data
"Supabase + TanStack Start setup was production-ready on day one. Auth, RLS, everything."
Marcus D.
CTO, Ledgerly
"XAUUSD Trade runs like clockwork. The infra and UI decisions were spot on."
Anastasia P.
Head of Product, XAUUSD Trade
"The Stripe billing rewrite is a thing of beauty — subscriptions, proration, dunning, all handled."
Tomás G.
Founder, Meterly