Cách quyết định phần nào nên chạy ở server, phần nào cần client state, event handler hoặc browser API.
Với App Router, component server giúp giảm JavaScript gửi xuống client và truy cập dữ liệu trực tiếp hơn. Đây là mặc định tốt cho layout, trang chi tiết và danh sách nội dung.
Bạn cần client component khi có state tương tác, event handler, browser API hoặc thư viện chỉ chạy trên client. Ví dụ: editor, modal, dropdown phức tạp hoặc upload widget.
Đừng biến cả trang thành client component chỉ vì một nút cần tương tác. Hãy tách phần tương tác nhỏ nhất có thể để giữ bundle nhẹ.
Dữ liệu truyền từ server sang client nên serializable và vừa đủ. Tránh truyền object lớn nếu client chỉ cần vài field.
Cách đọc LCP, CLS, INP và biến chỉ số hiệu năng thành backlog cải thiện sản phẩm.
Cách tiếp cận test API route: validate input, mock dependency và kiểm tra response contract.
Checklist accessibility thực tế cho heading, link, form, contrast và điều hướng bằng bàn phím.