Blog

Các ứng dụng web và mobile được
thiết kế như thế nào?

I. Các vị trí sẽ tham gia dự án

Tiếp nhận và xử lí dự án yêu cầu sự phối hợp từ rất nhiều vị trí, dự án càng lớn, số lượng thành viên tham gia và sự chuyên biệt của các vị trí các cần thiết và rõ ràng. Các vị trí không thể thiếu khi một đội ngũ lập trình thực hiện dự án bao gồm: Quản lý dự án (Project Manager – PM), Người phân tích nghiệp vụ (Business Analyst -BA), Người phụ trách kĩ thuật (Technical Lead – Tech Lead), Người kiểm thử (Tester), Giám sát chất lượng (Quality Assurance – QA), team lead và nhóm dev fontend, team lead và nhóm dev backend. Ngoài ra, trong những hệ thống lớn hơn, còn có rất nhiều vị trí khác để phục vụ những vấn đề chuyên sâu (VD: BA cũng chia thành nhiều kiểu nghiệp vụ khác nhau, các kĩ sư thiết kế hệ thống, v…v…)

II. Mô hình Frontend – Backend và Mô hình Restful Web Service

Mô hình thiết kế web truyền thống MVC (Model-View-Controller) đang dần được thành thế bởi mô hình Frontend-Backend, trong đó Frontend sẽ đảm nhận việc xử lí logic hiển thị và làm giao diện, Backend đảm nhận công việc xử lí các yêu cầu từ Frontend, truy vấn và lấy dữ liệu từ Cơ sở dữ liệu, sau đó trả về phía Frontend.

Dựa trên ý tưởng về việc tái sử dụng code, thay vì phải code lại cả phần logic hiển thị và logic xử lí dữ liệu (ở cả 2 phía FE và BE) như MVC, mô hình Resful Web Service ra đời. Trong đó, bên cung cấp dịch vụ/ ứng dụng trở thành Server và phía sử dụng dịch vụ là Clients. Khi ấy, một ứng dụng web được chuyển sang ứng dụng mobile bằng cách tái sử dụng phần logic xử lí ở Backend – giữ lại các chức năng cũ (có thể phải chỉnh sửa hoặc thêm nhưng không phải code lại hoàn toàn), và code lại phần giao diện phù hợp với màn hình điện thoại.

Công việc của một Frontend developer

Công việc của một Frontend bao gồm việc làm giao diện và xử lí các logic hiển thị sao cho hợp lí. Vậy nên, một Frontend dev luôn cần có kiến thức về UI, UX, HTML/CSS và JavaScript. Các framework có thể trợ giúp một Front-end xây dựng giao diện hiệu quả có thể kể đến Angular và React, giúp code được cả web app và mobile app.

Công việc của một Backend developer

Phần việc của một Backend developer bao gồm việc xử lí các dữ liệu các yêu cầu từ frontend và dữ liệu lấy về từ database. Các ngôn ngữ có thể sử dụng để code backend bao gồm: PHP, C++, Java, Python, Javascript. Các framework hay platform để hỗ trợ backend dev có thể kể tới như Laravel (PHP), Spring (Java) và Node.js (Javascript)

Trên đây là tổng quan về mô hình, vai trò và những công việc của mỗi vị trí trong một dự án thiết kế web app và mobile app, hy vọng bạn đọc đã có cái góc nhìn nhỏ về cách một ứng dụng được thiết kế như thế nào.

Đăng ký ngay để trải nghiệm khóa học Miễn Phí 12 buổi của chúng tôi.