头版Folia Daily Briefing
← 返回头版
科技互联网

HTML over WebSockets:用极少JavaScript构建实时单页应用

HTML over WebSockets是一种通过WebSocket通道直接传输服务端渲染HTML来构建实时单页应用的架构模式 [1]。相比传统的JSON加JavaScript框架方案,该方法将渲染逻辑集中在后端,使用单一语言开发,无需维护独立的API契约 [1]。

这一技术方案由Chris McCord在ElixirConf 2019展示的Phoenix LiveView项目率先演示,他仅用15分钟便构建了一个实时Twitter克隆应用,完全不需要前端渲染框架 [1]。HTML over WebSockets存在三种变体,分别基于HTTP、SSE和WebSockets传输协议,其中包括htmx、Unicorn、Datastar、Phoenix LiveView和Django LiveView等框架实现 [1]。

该方案的核心优势在于采用单一渲染引擎、无需构建API、状态存储在服务器、支持直接数据库连接、实现真正的实时通信,并天然防止XSS攻击 [1]。然而其主要缺点同样明显:服务器资源消耗较大,大量并发客户端需要进行水平扩展,连接断裂时应用工作会中断,同时学习曲线陡峭 [1]。实践验证表明,该方案已在Raspberry Pi 3类硬件上成功处理600个并发读者 [1]。

此外,SSE被视为一种低成本替代方案,仅支持单向服务器推送,特别适合通知、实时信息源和仪表板等应用场景 [1]。


HTML over WebSockets实时SPA开发前后端架构Phoenix LiveViewWeb开发框架