我要做什么?
│
├── 纯页面展示 / 表单提交 / 标准 CRUD
│ └── Controller + HEEx
│
├── 页面要持续在线、实时更新、少量到中量交互
│ └── LiveView
│
├── 一个局部块需要独立局部状态
│ └── LiveComponent
│
├── 浏览器/移动端/设备要按 topic 双向通信
│ └── Channels
│
├── 系统内部不同进程/节点之间广播消息
│ └── PubSub
│
├── 我要知道谁在线、谁离线、谁在哪个 topic
│ └── Presence
│
└── 我要保证业务规则别散到各层
└── Contexts + Scopes这张图记住了,Phoenix 的 80% 选型判断就不容易偏。