This whole take is just bizarre. Literally none of this matters to users except to the extent that it affects performance. While I would agree that many/most SPAs are implemented extremely poorly and inefficiently for reasons relating to what you're talking about it, and that that poorness spans both technical faults and UX problems, it's a very myopic view to complain that the foremost function of the web should be to rigidly adhere to a particular set of architectural patterns that are in flux and often outdated by modern standards.
Being able to bookmark deep links matters. I've worked places where users complained they couldn't bookmark their work because everything is just "the page".
Not defending SPAs, just pointing out that they are not to blame for this.
Users prefer the hypertext model to opaque blobs.
Yeah, just render my browser's back button dysfunctional, fam. Doesn't matter to me at all. Take all my control away and lock me into your walled garden of totally custom, approved-only interactions.
We spent the last decade trying to fix the whole mess that client-side "rendering" created in the web, we'll probably spent the next decade trying (and failing) to standardize things such as web components, declarative shadow DOM, among other things. That's because we as developers keep insisting in complexity: hydration, SPAs, bundlers (and in consequence bundle bundlers such as Vite). The only true solution is to bet in simplicity, but that's not sexy, and sex sells.
In conclusion: The React revolution and it's consequences have been a disaster for the human race.
There is nothing inherent in SPAs that make load time slower. If your REST API takes 5 seconds to serve up JSON, what's to say your SSR rendered page won't also take 5 seconds?
> Are you saying search engine crawlers haven't figured out how to deal with that?
Except for Google which has spent a tremendous amount of effort on that, yes I am. > There is nothing inherent in SPAs that make load time slower.
I never said they are. The difference is only for crawlers which now have to run JavaScript whereas before they could just retrieve the document and index it as it was served to it instead of trying to determine when the SPA has done the full loading of the page.https://stackoverflow.com/questions/36702789/google-crawler-...
Till today the Google Crawler is the only one that gets even near good search results of SPAs. That's because they have to run a full browser to load every page to parse it. Every. Single. Page. That's why it is hard to do correctly. Read a bit about their current approach here:
https://developers.google.com/search/docs/crawling-indexing/...
Specially:
> Keep in mind that server-side or pre-rendering is still a great idea because it makes your website faster for users and crawlers, and not all bots can run JavaScript.
Recently in 2019 Bing Bot just gave up and is using the same approach a Google:https://blogs.bing.com/webmaster/october-2019/The-new-evergr...
So nowadays having a SPA isn't as bad for SEO as it used to be, but again, and I'll keep nailing on this, that is only because we spent the entire last decade throwing millions of dollars and hundreds of hours of engineer time to make SPAs a viable option.
Next basically is React and the React team implicitly admits this.
We agree though, it's just a naming thing really. I make the distinction like this because traditionally a SPA can simply be served by a CDN since it's simply a single file, meanwhile all of these frameworks either require a server to render pages on request or prerender all the applicable pages and leave a few of them to totally client-side "render".
Also note how Vercel (at the time called Zeit, mostly known for Now) called Next.JS back in 2018 when they originally released it:
https://web.archive.org/web/20180628030830/https://nextjs.or...
> Next.js is a lightweight framework for static and server‑rendered applications.I have a hard time seeing this as how most SPAs work.
I see this as how most SSR systems work. Which does seem broken & bad. A user has no potential to understand this world. It's just a mainframe generating some pre-rendered experience that has no real data inside of it.
So actually, no. I think SPAs have moral value. The alternatives that have upstarted recently seem bankrupt, with no legs to stand on. I don't understand where this post comes from. There's an extremely hostile negative high-bullshit pissy attitude here, that isn't backed up by a single thing I can recognize:
> There is no sudden about it, SPA's are yet another one of the so-called "modern web" cancers of the Internet.
Most SPAs seem to be the last defender of doing what you asked for?
A web application or a website, by its very nature, is a series of small requests. When someone sends all requests in one big lump of a page, they have just defeated this very important architecture. Not to talk about the fact that they break searching on pages and a whole lot of other things.