It seems like a lot of these real-time capabilties should be part of the database layer, à la RethinkDB and its model of continuously pushing query results as they're updated.
This way, you're not locked into one JavaScript-based application development framework.
This way, you're not locked into one JavaScript-based application development framework.