What Phoenix Does
- MVC — controllers, views, templates
- Channels — real-time WebSocket communication
- LiveView — server-rendered reactive UI (no JS framework needed)
- Ecto — database query DSL and migrations
- PubSub — distributed pub/sub
- Presence — track connected users
- Telemetry — instrumentation hooks
- mix phx.gen — generators for context, schema, HTML, JSON
Comparison
| Framework | Concurrency | Real-time |
|---|---|---|
| Phoenix | BEAM processes | Channels + LiveView |
| Rails | Threads | ActionCable |
| Django | WSGI + Channels | Django Channels |
| Next.js | Node.js | WebSocket via lib |
常见问题 FAQ
Q: LiveView 能替代 React? A: 对中高交互性应用可以。LiveView 通过 WebSocket 推送 HTML diff 到浏览器,延迟在 50ms 以内感知很好。超复杂前端交互还是建议 React/Vue + Phoenix API。
来源与致谢 Sources
- Docs: https://hexdocs.pm/phoenix
- GitHub: https://github.com/phoenixframework/phoenix
- License: MIT