2020-03-16
2094
Paul Cowan
15663
Mar 16, 2020 ⋅ 7 min read

The single-page application must die

Paul Cowan Contract software developer.

Recent posts:

the replay november 12

The Replay (11/12/25): Stop making these useEffect mistakes

Discover what’s new in The Replay, LogRocket’s newsletter for dev and engineering leaders, in the November 5th issue.

Matt MacCormack
Nov 12, 2025 ⋅ 33 sec read
15 most common useEffect mistakes

15 common useEffect mistakes to avoid in your React apps

Shruti Kapoor breaks down the confusion around useEffect and goes over 15 common mistakes she’s seen in the React apps she’s reviewed.

Shruti Kapoor
Nov 12, 2025 ⋅ 8 min read
Giving Jarvis Hands: What Mcp Means For Ai Integrations On The Open Web LogRocket Article

The next phase of dev: Building for MCP and the open web

MCP is the bridge between AI and the open web — giving intelligent agents the ability to act, not just talk. Here’s how this open protocol transforms development, business models, and the future of software itself.

Peter Aideloje
Nov 11, 2025 ⋅ 5 min read

You’ve authenticated your user, but have you authorized your agent?

AI agents can now log in, act, and access data, but have you truly authorized them? This guide walks through how to secure your autonomous agents using Auth0’s Auth for GenAI, covering token vaults, human-in-the-loop approvals, and fine-grained access control.

Ikeh Akinyemi
Nov 10, 2025 ⋅ 5 min read
View all posts

8 Replies to "The single-page application must die"

  1. You didn’t address the real issue. We need a common, accepted standard for distributed applications that is not built on HTML, css and js. Web assembly might open the door for that but we need an entire framework for building GUI apps. Everything we have now for HTML has been bolted onto something that was intended for a different use. We need a foundation built from the ground up for distributed apps that is supported by all operating systems and platforms but binary based.

  2. Something else you left out is server workload vs client workload. With spas, you are leveraging millions of machines to do processing. With server rendering, you are putting more stress there. It makes sense to leverage a users processing power with client side code.

  3. I disagree that it makes sense to leverage a user’s processor with client-side code.

    As the site owner, you can scale the server processing easily. It can be scaled up and down rapidly in modern hosting environments. It can account for surges, low traffic, and ensure the same rendered code is delivered to all users (barring network issues). It is part of the cost of doing business.

    You cannot, however, scale the end user’s processing power. If on an old phone, with a low battery, on dodgy cell service, and so on, you are leveraging millions of sub-par processors to create millions of sub-par experiences. You are essentially ceding the experience (and potentially reviews, word-of-mouth) to every device that does not match your developer’s device specs.

    IOW, put the burden on the server where you can.

  4. If a MPA were desirable in and of itself — and not merely a compromise made so that programs could be distributed over the web — then why did no one ever come up with a MPA for traditional PC applications and old-fashioned two-tier client-server applications?

  5. If an SPA can deliver a better user experience then it is the right choice. You simply cannot make some of the apps and interactions in a traditional MPA an example being Discord or YouTube Music. The user experience whilst using these products brings delight to those using them. Are they right all the time? No, but like anything they should be used in moderation and where they can excel at what they do best.

  6. for logically: clear business division with view
    for project management: fe-developer, be-developer
    for scalability: I can serve a SPA or an android device with the same BE
    for performance: rendering on the server means potentially thousands of pages on a single processor
    by aptitude: code executed where it appears
    for optimization: the data that transit on the internet is ONLY data
    code cleanliness, scalability, speed, accuracy…
    I would say that not using a SPA is just nonsense instead

Leave a Reply

Hey there, want to help make our blog better?

Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.

Sign up now