Why you should not build your startup as Single-Page Application (2017)
amberbit.com
amberbit.com
This completely misses the major benefit of SPA: reusable web components made with the latest version of JS with a framework that updates the DOM from a view model. I guess you could accomplish that without SPA, but I'm pretty sure we're all here for the frameworks/es6/typescript/compnents, and SPA is just the deployment model. A deployment model which allows all that to happen with a fairly short initial load if you're doing things right.
If you're loading multiple megabytes in your first chunk in 2018, then you're doing it wrong.
All that said, are you making an 'application', or are you making an informational website?
If you're making a simple website, SPA is just silly. If you're making an application, and it just happens to be deployed via a browser, SPA, and more importantly, the things I mentioned going with it, are a huge productivity and organizational boost.
So... yeah. Getting acceptable performance with a complex SPA is hard.
This could also be easily done with an Spa, I've done it on numerous occasions. What enables it is loose coupling between components. Make them only depend on the minimal context and not a central application state.