Before I built software for a living, I did SEO. Before I did SEO, I was a content producer. I know what’s necessary to rank well on search engines and have good showing on the various social media sites.
This means I have a hard time accepting single page, all-javascript applications. It just doesn’t feel right to me. Some search engines will probably run and render your JavaScript (Google probably does this), but social media sites probably aren’t there yet.
This comment on Hacker News is such a great way to sum up when to use or not use a all javascript, single page app:
A lot of people seem to think that Single Page App frameworks like Angular/Ember are suitable for use on the public facing client side. I’ve always believed that SPAs are meant to be behind a login, where you don’t have to also deal with spiders and other sub-optimal browsing devices, and you have a little bit more wriggle room when it comes to routing and web history.
Concise, and absolutely true.