Đến hẹn lại lên, hôm nay mình sẽ viết về ngày thứ 4 trong chuỗi 7 ngày làm đạo diễn web. Sau khi có được kịch bản, diễn viên cũng đã biết mình phải diễn gì, sân khấu đã có thiết kế, việc tiếp theo là mang các diễn viên lại và bắt đầu tập diễn các cảnh trong vở kịch để đem đến một vở kịch hoàn chỉnh cho khán giả.
Qua các ngày trước, mình đã có được bảng các tính năng, kèm theo các thiết kế và đã chuẩn bị sẵn HTML, CSS để ráp giao diện thực tế trong code, tức là phần Front-end. Hôm nay, chúng ta sẽ tiến hành hoàn tất phần Front-end và các công đoạn cuối cùng của việc…coding.
Hầu như giờ đây bạn chỉ viết Controller (tham khảo thêm mô hình MVC) cho phần Front-end vì phần backend hầu như đã xong (trong quá trình làm Model ở ngày 2). Bởi vì bạn đã có các Model tương ứng cho các table và tính năng nên việc viết front-end không vất vả lắm, chủ yếu là … sung sức.
Phần này không cần nói nhiều và cũng không cần hình ảnh nhiều, bởi vì nhiệm vụ chính của bạn là code nên việc phát triển và hoàn tất các tính năng cho website là một công việc bình thường. Một lưu ý nhỏ của mình ở bước này là các bạn nên chia nhỏ các chức năng (Controller) ra để dễ dàng debug và bảo trì khi có sự cố cũng như dễ dàng làm performance.
Tùy theo quy mô của dự án mà quá trình viết Controller và ráp giao diện hoàn chỉnh cho Front-end sẽ mất của bạn ít hay nhiều hơn một ngày. Bạn có thể “dùng lại” các tính năng thường đã có sắn trước đó (trong các project trước) như liên quan đến thành viên (đăng nhập, đăng ký, quên mật khẩu, đổi thông tin…), liên hệ, phân quyền, log..như vậy, số tình năng bạn viết thêm sẽ không nhiều. Ngoài ra, độ phức tạp của các tính năng có thể kéo dài thời gian hoàn tất của bạn vì đòi hỏi phân tích các thiết kế, thuật toán, tối ưu, bảo mật…
Nói đến dự án tienboi.com, chức năng phức tạp nhất (cho đến thời điểm này ^^!) chính là hệ thống điểm (Reputation) và Badge. Nghe trông có vẻ đơn giản. Làm cái này, làm cái kia được cộng điểm..nhưng một số vấn đề khó khăn kéo theo là việc giới hạn điểm trong ngày, có những hành động bị trừ điểm, hoặc Undo thao tác (cộng hoặc trừ điểm)…
Ngoài ra, một trong những tính năng quan trọng của giai đoạn này là bảo mật và performance. Bởi vì các tính năng liên quan trực tiếp đến người dùng nên các quy tắc bảo mật và performance luôn được theo sát và áp dụng trong quá trình hoàn thiện front-end.
Sau ngày này, website bạn đã có thể có thể chạy được rồi và có thể chuẩn bị cho ngày tiếp theo. Đón đọc bài kế tiếp, Ngày 5: Diễn tập trước.