
开发者 Andros Fenollosa 近日分享了一种构建实时单页应用的新思路——HTML over WebSockets。这种架构的核心思想是:服务器直接通过 WebSocket 连接向浏览器推送 HTML 片段,而不是像传统 SPA 那样先发送 JSON 数据,再让前端 JavaScript 框架渲染 DOM。
传统 SPA 架构通常需要三套独立系统:一个 JavaScript 前端框架负责视图渲染,一个后端 API 提供 JSON 数据,以及两者之间的状态同步逻辑。开发者需要同时维护数据模型在两个环境中的一致性,复杂度和出错概率都随之增加。

HTML over WebSockets 将视图渲染的责任完全转移到服务端。浏览器通过 WebSocket 建立持久连接后,服务器根据用户操作实时生成 HTML 片段并推送。客户端几乎不需要 JavaScript 逻辑——只需将接收到的 HTML 片段插入 DOM 的指定位置即可。这类似于 Phoenix LiveView 或 Hotwire 等框架的工作方式,但更加轻量。


这种模式的优势很明显:前端代码大幅减少,状态管理集中在服务端,SEO 天然友好,首屏加载更快。但它也有局限性——需要稳定的 WebSocket 连接,对实时交互(如拖拽、动画)的支持不如纯客户端方案灵活。
对于内容驱动的应用(如博客、仪表盘、后台管理系统),HTML over WebSockets 提供了一种简单而高效的架构选择,让开发者可以专注于业务逻辑而非框架的复杂性。
来源:Andros Fenollosa | HN 讨论