全域性圖景
幾乎你要做的每一個應用,都由四個互相對話的部分組成:
- —— 使用者看到並點選的東西。瀏覽器或手機應用裡的那些介面、按鈕和文字。
- —— 執行在你掌控的伺服器上的邏輯。它來執行規則、幹實際的活、並決定誰有權做什麼。
- 資料庫(database) —— 資訊存放的地方,這樣到了明天它還在。賬號、帖子、訂單。
- 託管(hosting) —— 在世界某個角落裡真正執行以上這一切的那些電腦,好讓別人能夠訪問到它。
它們是這樣連起來的:
┌──────────────┐ 請求 ┌──────────────┐ 查詢 ┌──────────────┐
│ │ ─────────────────────▶ │ │ ──────────────────▶ │ │
│ FRONTEND │ │ BACKEND │ │ DATABASE │
│ (瀏覽器) │ ◀───────────────────── │ (伺服器) │ ◀────────────────── │ (儲存) │
│ │ 響應 │ │ 行資料 │ │
└──────────────┘ └──────────────┘ └──────────────┘
你看到的東西 規則 + 邏輯 資料存放的地方
└──────────────────────────── 這一切都執行在 HOSTING 上 ──────────────────────────────────┘
frontend 從來不會直接跟資料庫對話。它總是要經過 backend,因為規則住在那裡。這一個事實就解釋了應用是怎麼搭起來的很多道理——也解釋了為什麼 "乾脆讓頁面直接讀資料庫" 幾乎從來都不是答案。