Why Backend-for-Frontend for Solid is categorically wrong

Many (if not all?) frontend frameworks nowadays support SSR, so I don’t see a limitation there. Also, you’re saying that SPAs were a mistake as a matter of fact, but that’s actually your opinion. SPAs have pros and cons and depending on the app you’re building, it can make sense or not. In any case, the SPAs vs MPAs discussion is certainly something ongoing in the community and I don’t want to get into that. But I don’t think it has anything to do with Solid. You could have an SPA with SSR that still communicates with the Solid POD in the client (or maybe even has a hybrid approach, communicating with the POD in the server during the first request, but then using the client for any subsequent navigation).

SPAs are bad for SEO: Also a misconception. And personally, my opinion is that I don’t care about SEO and it shouldn’t exist. Ideally for indexing data and searching information we should be using RDF graphs, that’s also the point of Solid.

SPAs are bad for resilient archivable websites? How come? If anything, SPAs are more resilient because they don’t need a server so they can work forever. For MPAs you can save snapshots using web.archive.org but that’s all, snapshots. Also, again, if what you care about is not losing information we should care about storing the real data in RDF or any other open format.

And finally, slow internet connections? That’s actually one of the strong points of SPAs, if they are built correctly. You only request what you need once, and I’m not sure you can build an offline-first app if it isn’t an SPA. And if you’re thinking about the problem of downloading the whole application on your first visit, there are things such as tree-shaking and code splitting to prevent that.

In any case, as I said, I wouldn’t want this to become a discussion of SPAs vs MPAs, there are plenty of places to discuss that elsewhere and it’s mostly a matter of opinion and the use-case of each particular app. But I don’t think it has anything to do with Solid, the point of Solid is that you can use it with any architecture you like. And for everything we’ve mentioned in this thread until now, I don’t like architectures that rely too heavily on a centralized server (it’s just that without Solid, you don’t even have a choice).

6 Likes