No, you can build your own full-text search engine with dynamic pages with postgres' fulltext index types. You can subscribe to changes through LISTEN/NOTIFY, or by outputting log entries in trigger functions, among other techniques. That fulfills the 'dynamic' part of the question.
I don't know how you read that question (well, ok, I do), but it's not how I read it. Whiff of an insult duly noted.
We did it because users demand it. A SPA feels substantially faster and more reactive. Users notice.
Dude! Whoever said we were railing on SPAs? But since you bring up Gmail I'd just like to note that gmail has been a slow, bloated mess for many years now. It takes a half a minute for the page to stop janking on my dev box with 50mbps internet, so I think Gmail in its current state is a poor choice of example. Gmail of old, back before they tried to cram 80 million things into it, was a pretty good example.
> I don't know how you read that question (well, ok, I do), but it's not how I read it. Whiff of an insult duly noted.
I don't know how you read "provide search engines with indexable dynamic pages" as implementing your own search engine. It was pretty clearly referencing the well-known challenge of making your JavaScript-rendered pages indexable by Google/Bing/etc.
> Whoever said we were railing on SPAs?
You are. When you say we should just abandon all this JavaScript and instead render everything through Rails, you're arguing against building SPAs.
I don't know how you read that question (well, ok, I do), but it's not how I read it. Whiff of an insult duly noted.
We did it because users demand it. A SPA feels substantially faster and more reactive. Users notice.
Dude! Whoever said we were railing on SPAs? But since you bring up Gmail I'd just like to note that gmail has been a slow, bloated mess for many years now. It takes a half a minute for the page to stop janking on my dev box with 50mbps internet, so I think Gmail in its current state is a poor choice of example. Gmail of old, back before they tried to cram 80 million things into it, was a pretty good example.