💜
BEAM VM · Functional · Real-Time

Elixir / Phoenix
LiveView 完全指南

Erlang VM 上的现代 Web 开发——并发、容错、实时。WhatsApp 与 Discord 背后的技术基石

Elixir 1.17+ Phoenix 1.7 LiveView 1.0 OTP / GenServer Ecto ORM BEAM VM Fly.io 部署

为什么选择 Elixir

Elixir 运行在 Erlang 的 BEAM 虚拟机上。这个 VM 由爱立信于 1980 年代为电信系统设计,目标是 九个九的可用性(99.9999999%)、热代码更新与百万并发连接——这些特性被 Elixir 完整继承,并配上了现代语法与强大的元编程能力。

Phoenix LiveView 则是革命性的:服务端渲染 + WebSocket 差量更新,无需写一行 JavaScript 就能构建实时交互界面。Discord 用 Elixir 支撑 1100 万并发用户;WhatsApp 用 Erlang 以仅 50 名工程师服务 4.5 亿用户。

并发模型对比(百万连接场景)

Elixir/BEAM
100万+ 进程
Go goroutine
数十万
Node.js
单线程事件

BEAM 进程极轻量(约 2KB 初始堆),与 OS 线程无关,天生隔离互不影响。

你将学到什么

BEAM 并发模型

Actor 模型、进程隔离、容错重启、热代码升级的底层原理

🔮

函数式编程

不可变数据、模式匹配、管道运算符 |>、高阶函数、尾递归

🌀

OTP 框架

GenServer 状态服务器、Supervisor 监督树、Application 应用结构

🔥

Phoenix 框架

Router/Controller/Plug 中间件管道、RESTful API、Ecto 数据库层

Phoenix LiveView

无需 JavaScript 的实时 UI、HEEx 模板、差量更新、表单绑定

📡

Channels 实时通信

WebSocket Channels、Presence 在线追踪、多人实时聊天室

🗄️

Ecto 数据建模

Schema、Changeset 验证、复杂关联查询、事务、N+1 优化

🚀

测试与部署

ExUnit 测试、mix release 自包含发布、Docker、Fly.io 托管

课程目录