เว็บแอปพลิเคชันประกอบด้วยส่วนที่ทำงานบนเครื่องผู้ใช้และส่วนที่ทำงานบน server นักพัฒนาจึงต้องเข้าใจว่า logic ใดควรอยู่ฝั่ง client logic ใดควรอยู่ฝั่ง server และการทำงานทั้งสองฝั่งเชื่อมกันอย่างไร
Client-Side คือโค้ดที่ทำงานบนเบราว์เซอร์ของผู้ใช้ เช่น HTML, CSS และ JavaScript
งานที่มักอยู่ฝั่ง client ได้แก่
ข้อดีคือทำให้เว็บตอบสนองเร็วและลดภาระ server บางส่วน แต่ข้อจำกัดคือโค้ดฝั่ง client ถูกมองเห็นได้ จึงไม่ควรวาง secret หรือ logic สำคัญด้านความปลอดภัยไว้บน client
Server-Side คือโค้ดที่ทำงานบน server ก่อนส่งผลลัพธ์หรือข้อมูลให้ผู้ใช้ เทคโนโลยีที่พบได้บ่อย เช่น Node.js, PHP, Python, Ruby, Java และ .NET
งานที่มักอยู่ฝั่ง server ได้แก่
Full-Stack คือการพัฒนาทั้ง Frontend และ Backend ในโปรเจกต์เดียว ผู้พัฒนาต้องเข้าใจตั้งแต่ UI, client logic, API, database, security และ deployment
ตัวอย่าง stack:
Angular Frontend -> Express API -> PostgreSQL Database
| ประเด็น | Client-Side | Server-Side | Full-Stack |
|---|---|---|---|
| ประสิทธิภาพ | ตอบสนองไวเมื่อโหลดแล้ว | ควบคุมการประมวลผลรวมศูนย์ | ปรับสมดุลทั้งสองฝั่ง |
| ความปลอดภัย | ไม่ควรเก็บ secret | เหมาะกับ logic สำคัญ | ต้องออกแบบ boundary ให้ชัด |
| Scalability | ลดงานบางส่วนจาก server | ต้อง scale server/API | scale ได้หลายชั้น |
| ประสบการณ์ผู้ใช้ | โต้ตอบลื่น | โหลดข้อมูลจาก server | ทำได้ครบทั้ง UX และ data |
เลือกฟีเจอร์ “ระบบเข้าสู่ระบบ” แล้วระบุว่าส่วนใดควรอยู่ Client-Side และส่วนใดควรอยู่ Server-Side พร้อมเหตุผล