Single-Page Apps Ruined the Web

June 8, 2025

The web development community has long been divided by a fundamental question: should we build single-page applications (SPAs) or stick with traditional multi-page applications (MPAs)? This debate has shaped how we approach web development for years, with each side presenting compelling arguments. However, a new paradigm is emerging that promises to end this divisive discussion once and for all: transitional apps.

The Case for Single-Page Applications

Single-page applications have revolutionized user experience on the web. They offer several compelling advantages that have made them the go-to choice for many modern web applications:

  • Enhanced Responsiveness: SPAs provide a more fluid, app-like experience where interactions feel immediate and natural. Users don't experience the jarring white flash that occurs during traditional page reloads.
  • Faster Navigation: Once the initial application loads, subsequent navigation is lightning-fast since only data needs to be fetched, not entire HTML pages.
  • Rich Interactivity: SPAs enable complex user interfaces with smooth animations, real-time updates, and sophisticated state management that would be difficult to achieve with traditional page-based approaches.
SPA

The Challenges of SPAs

However, single-page applications aren't without their drawbacks:

  • Development Complexity: SPAs introduce significant complexity in terms of state management, routing, and code organization. This complexity often leads to bugs and maintenance challenges.
  • Accessibility Concerns: Many SPAs struggle with accessibility, particularly around focus management, screen reader compatibility, and semantic navigation.
  • Initial Load Performance: The need to download and parse large JavaScript bundles can result in slower initial page loads, especially on slower networks or devices.
  • SEO Challenges: Search engine optimization becomes more complex when content is dynamically rendered on the client side.
MPA

Enter Transitional Apps: The Best of Both Worlds

Transitional apps represent a paradigm shift that combines the strengths of both traditional and modern web applications while minimizing their respective weaknesses. Rather than forcing developers to choose between SPAs and MPAs, transitional apps adapt to provide the optimal experience based on the context and requirements.

Core Characteristics of Transitional Apps

  • Fast Initial Load Times: By leveraging static pre-rendering and server-side generation, transitional apps ensure that users see content quickly, regardless of their device or network conditions.
  • Universal Accessibility: Built with accessibility as a first-class concern, these applications work seamlessly with screen readers, keyboard navigation, and other assistive technologies.
  • Resilience: Transitional apps are designed to work even when JavaScript fails to load or execute, ensuring that core functionality remains available to all users.
  • Instant Navigation: Once the application is hydrated, navigation becomes instant, providing the smooth experience users expect from modern web applications.
  • Cohesive Code Base: Developers maintain a single codebase that can render both server-side and client-side, reducing complexity and maintenance overhead.
  • The Technical Foundation

Static Pre-rendering with Client-Side Enhancement

Transitional apps start their life as static HTML pages that are pre-rendered at build time or on-demand at the server. This approach ensures that:

  • Content is immediately visible to users
  • Search engines can easily crawl and index the content
  • The application works without JavaScript
  • Initial page loads are optimized for performance

Once the page loads in the browser, JavaScript progressively enhances the experience, adding interactivity and enabling instant navigation between pages.

Edge Computing Integration

One of the most compelling aspects of transitional apps is their natural alignment with edge computing trends. Modern deployment strategies can leverage:

  • Edge Functions: Handle dynamic content generation and API responses at locations closer to users, reducing latency and improving performance.
  • CDN Static Files: Serve pre-rendered content from globally distributed content delivery networks, ensuring fast initial load times worldwide.
  • Intelligent Routing: Automatically determine whether to serve static content from the CDN or dynamic content from edge functions based on the request type and user context.

The Development Experience

Building transitional apps doesn't require abandoning familiar tools and frameworks. Modern meta-frameworks like SvelteKit, Next.js, and Nuxt.js have embraced this approach, providing developers with:

  • Automatic code splitting: Ensures only necessary JavaScript is loaded for each page
  • Progressive enhancement: Builds experiences that work without JavaScript and enhance with it
  • Flexible rendering: Allows mixing of static generation, server-side rendering, and client-side rendering as appropriate
  • Optimized deployments: Automatically configures edge functions and CDN distribution

Performance Benefits

The performance implications of transitional apps are significant:

  • Reduced Time to First Byte (TTFB): Static content served from edge locations loads instantly
  • Improved Core Web Vitals: Better scores for Largest Contentful Paint (LCP), First Input Delay (FID), and Cumulative Layout Shift (CLS)
  • Optimal resource utilization: Server resources are used efficiently, with static content requiring no server processing

The Future of Web Development

Transitional apps represent a maturation of web development thinking. Instead of forcing developers into binary choices between competing paradigms, they recognize that different parts of an application may benefit from different rendering strategies.

A single application might use:

  • Static generation for marketing pages and documentation
  • Server-side rendering for personalized content
  • Client-side rendering for highly interactive components
  • Edge functions for API endpoints and form processing

Ecosystem Evolution

The web development ecosystem is rapidly evolving to support this transitional approach:

  • Framework Innovation: Modern frameworks are building transitional capabilities as core features rather than afterthoughts.
  • Deployment Platforms: Services like Vercel, Netlify, and Cloudflare are optimizing their platforms for transitional app deployment patterns.
  • Developer Tools: Build tools and development environments are adapting to support the complexity of managing multiple rendering strategies.
Site

When to Choose Transitional Apps

Transitional apps are particularly well-suited for:

  • Content-heavy websites that need both SEO optimization and rich interactivity
  • E-commerce platforms requiring fast initial loads and smooth shopping experiences
  • Documentation sites that benefit from static generation but need dynamic features
  • Marketing websites with interactive components and lead generation forms

Migration Strategies

For teams considering a transition to this approach:

  1. Start with static pages: Begin by identifying pages that can be statically generated
  2. Progressive enhancement: Add client-side features incrementally
  3. Measure performance: Use tools like Lighthouse and Web Vitals to track improvements
  4. Iterate based on user feedback: Continuously refine the balance between static and dynamic content

Conclusion

Transitional apps represent the next evolution in web development, moving beyond the limitations of choosing between single-page and multi-page applications. By embracing the strengths of both approaches and leveraging modern deployment strategies like edge computing, they offer a path forward that prioritizes user experience, developer productivity, and application performance.

As the web continues to evolve, transitional apps position developers to take advantage of emerging technologies while maintaining the accessibility and resilience that make the web universal. Rather than being constrained by architectural decisions made early in a project's lifecycle, transitional apps adapt to provide the optimal experience for each user and use case.

The future of web development isn't about choosing sides in the SPA vs MPA debate - it's about building applications that transition seamlessly between different modes of operation to deliver the best possible experience for every user, everywhere.

Many thanks to Rich Harris for his video about Transitional Apps.

Utopia Background
Travis Scott

Travis Scott

30M monthly listeners

UTOPIA

MY EYES

UTOPIA

Kyiv

30 °

Air quality alert

H: 30°

L: 16°

16

30°

17

30°

18

30°

19

29°

20

29°

21:12

27°