I know there is a lot of questions, answers and workarounds that people do when dealing with SPA's.. some of them like Progressive Enhancement may be a good concept, but at the end you dont DRY things the way it should be.. so separate concerns between server just as REST Api and client for 100% rendering seems to me the way to go.
So well, after months developing a large and complex single page application with backbone.js (could be any other library or framework popular out there) my main thoughts were: how should I deal with state changes? Is the best way changing the title-meta tags when push-state and let some other parser like phantom.js provide head and body for Google Bots, Facebook Open Graph and other indexers?
My most worry is scalability and response time. Let me say that I have a node.js server with phantom.js and someone paste a url of my app inside facebook link scrapper.. it will request the heroku application (running rails), rails will redirect to node.js application, it will parse with phantom.js (can't estimate the time, it will request the rails api alsp), send back the response to facebook. At this point I don't know how much process and request time it will be spent for doing a simple job that any non-SPA would do it.
So, anyone who has experienced the same issues? I would like to know how you guys deal with it. Thanks.