全书目录

第三十八篇:Phoenix 完全指南 —— 实时频道城邦宇宙

第三章:先看总图,把整座城邦装进脑子里

1 分钟 328 字 第 722 / 962 个阅读单元

先看概念关系图:

text
                           Phoenix 实时频道城邦
                                      │
         ┌────────────────────────────┼────────────────────────────┐
         │                            │                            │
         v                            v                            v
      HTTP 办事线                  LiveView 实时线              Channels 双向线
         │                            │                            │
 Endpoint / Plug                 mount / handle_*              join / handle_in
         │                            │                            │
       Router                      HEEx diff                    topic event
         │                            │                            │
   Controller / HTML               LiveComponent                 Socket client
         └───────────────┬────────────┴────────────┬───────────────┘
                         v                         v
                     Contexts                  PubSub / Presence
                         │                         │
                         └──────────────┬──────────┘
                                        v
                                   Repo / Ecto

把它翻译成城市语言:

  • Endpoint:城门。所有请求先进城门。
  • Plug:安检流程。谁都要过。
  • Router:道路规划局。决定请求去哪。
  • Controller:传统办事窗口。一次来,一次办,一次回。
  • HEEx:公告板模板系统。负责把内容排版成 HTML。
  • Function Component:标准化柜台部件。
  • LiveView:市政中控室。页面长时间在线,状态留在城里。
  • LiveComponent:中控室里的分区柜台。
  • Channel:无线频道塔。适合任意客户端双向通信。
  • PubSub:城市广播网。
  • Presence:谁在线、谁离开、谁从哪台设备接入的名册。
  • Context:职能部门边界。
  • Repo/Ecto:档案库与档案规则。