be safe, server needs to generate HTML for Google • Apps update the body, but metadata (title, description) needs to be in the original response • So you need to duplicate everything from your JS app for the server • Users need to wait for JS to download before seeing anything • What if JS isn’t supported?
To humans, it behaves like a SPA (after the first page) • Users see page immediately—before JS loads • The browser doesn’t have to talk to the server for subsequent pages • One code base—no duplication • Finer-grain control over behavior/transitions • Falls back to traditional behavior for non-JS browsers