* How do you allow users to continue using your SPA without a network connection?
* How do you enable snappy and responsive UIs when the network is slow?
* How do you synchronize state between client/server?
These are just some of the "hard problems" that you'll face building an SPA. Firebase has its own solutions but many other tradeoffs. All I'm saying is that we don't have hardened open source solutions for these problems yet, in the same way that we have Rails/.Net Core MVC/Django for traditional websites.