Comparison of web app architectures

PushMode » Architectures

Streaming HTML from server to client the way PushMode does has its advantages compared to other web architectures. The following summarizes the differences. PushMode cannot be better in every way, but you will notice it provides interesting balance of productivity, interactivity, and performance.

App streaming HTML streaming Single page app Server scripting
Implementations AWS AppStream, ... PushMode MeteorJS, React, ... PHP, JSP, ...
Programming language any JVM-based JavaScript any
Libraries unlimited unlimited performance budget unlimited
Code complexity event-driven mostly templates client-server mostly templates
Interactivity perfect high perfect HTML forms
Reactivity depends on the app always fresh where implemented none
Graphics video stream interactive SVG HTML5 static images
Indexing & SEO none good with workarounds good
Page loading very slow fast slow fast
Client load (CPU & RAM) high low high low
Server load (CPU & RAM) high moderate low low
Network traffic high low high when loading low
UI responsiveness 1 RTT 1 RTT CPU-bound high
Query responsiveness 1 RTT 1 RTT requires optimization 1 RTT
Attack surface UI UI REST API URLs
Monitoring & analytics server-side server-side client & server server-side