- Finally in 2012, Twitter reversed course by passing more of the rendering back to the server.
- On the server side, it provides an initial render of the page, and data could be provided through Node.js or through REST API calls.
- The initial state is passed to the client side, which also loads the framework to provide further client-side rendering that is necessary, particularly to “rehydrate” or update the server-side render.
Outlook was playing with this in 1998 (via an ActiveX object in IE5). By 2000, Outlook was getting recognition for its use. In 2002, Oddpost was using it (later picked up by Yahoo). In 2004, Google was the one that deployed it using standards, and it was cross-browser on top of that. I think when developers realized it could be cross-browser and standards-compliant, they finally bought into it.