ภาพรวมใหญ่
แอปเกือบทุกตัวที่คุณจะสร้างประกอบด้วยสี่ส่วนที่คุยกัน:
- ฟรอนต์เอนด์ () — สิ่งที่ผู้ใช้เห็นและคลิก หน้าจอ ปุ่ม และข้อความภายในเบราว์เซอร์หรือแอปมือถือ
- แบ็กเอนด์ () — ตรรกะที่ทำงานอยู่บนเซิร์ฟเวอร์ที่คุณควบคุม มันบังคับใช้กฎ ทำงานจริง และตัดสินว่าใครมีสิทธิ์ทำอะไรได้บ้าง
- ฐานข้อมูล () — ที่ที่ข้อมูลอยู่เพื่อให้มันยังอยู่ในวันพรุ่งนี้ บัญชีผู้ใช้ โพสต์ คำสั่งซื้อ
- โฮสติง (Hosting) — คอมพิวเตอร์ ณ ที่ใดที่หนึ่งในโลก ที่รันสิ่งข้างต้นทั้งหมดจริงๆ เพื่อให้คนอื่นเข้าถึงได้
นี่คือวิธีที่พวกมันเชื่อมต่อกัน:
┌──────────────┐ request ┌──────────────┐ query ┌──────────────┐
│ │ ─────────────────────▶ │ │ ──────────────────▶ │ │
│ FRONTEND │ │ BACKEND │ │ DATABASE │
│ (browser) │ ◀───────────────────── │ (server) │ ◀────────────────── │ (storage) │
│ │ response │ │ rows │ │
└──────────────┘ └──────────────┘ └──────────────┘
what you see the rules + logic where data lives
└──────────────────────────── all of this runs on HOSTING ───────────────────────────────────┘
ฟรอนต์เอนด์ไม่เคยคุยกับฐานข้อมูลโดยตรง มันต้องผ่านแบ็กเอนด์เสมอ ที่ที่กฎต่างๆ อาศัยอยู่ ข้อเท็จจริงเพียงข้อเดียวนี้อธิบายได้เยอะมากว่าแอปถูกสร้างขึ้นอย่างไร — และทำไม "แค่ให้หน้าเว็บอ่านฐานข้อมูลเลยสิ" แทบไม่เคยเป็นคำตอบที่ถูกต้อง