到这里,Phoenix 还只是“一座治理结构很好的 Web 城邦”。
LiveView 一进来,整座城就开始显出真正的特色。
Phoenix LiveView 官方欢迎文档的核心心智可以浓缩成一句:
LiveView 是一个服务器进程,它接收事件、维护状态、重新渲染差异,并把差异推给浏览器。
你要把 LiveView 想成:
不是把页面控制权全部交给浏览器
而是在城内为每个实时页面安排一个值班中控室它的生命周期是这样的:
用户第一次访问页面
│
▼
普通 HTTP 请求先返回完整 HTML
│
▼
浏览器拿到首屏,可渲染,可索引
│
▼
客户端再建立持久连接
│
▼
服务器端启动对应 LiveView 进程
│
▼
后续点击、输入、提交、推送
都变成发给这个进程的消息
│
▼
LiveView 重新渲染差异并推回浏览器这是 Phoenix 最关键的一种高级平衡:
- 首屏仍然是标准 HTML
- 搜索引擎友好
- JavaScript 不是先把整页变空壳
- 但连接建立后,页面又变成有状态的实时界面
所以 LiveView 不是 SPA,也不是传统 MPA。
它更像:
“服务器中控室驱动的实时 HTML 界面”。