Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
Khi mới vào ngành bạn sẽ nghe liên tục các từ frontend, backend, full-stack. Chúng thực chất mô tả cách một ứng dụng được chia thành hai phía làm việc với nhau, giống nhà hàng có khu phục vụ khách và khu bếp phía sau.
Trong mô hình này có hai vai trò:
Một máy chủ phục vụ được nhiều client cùng lúc. Ví dụ hàng nghìn học viên cùng mở một khóa học, mọi dữ liệu bài học nằm tập trung ở server, thay vì mỗi người giữ một bản.
Frontend (giao diện) là mọi thứ chạy ở phía client và hiển thị cho người dùng: bố cục, màu sắc, nút bấm, hiệu ứng. Với web, bộ ba công nghệ nền tảng là:
Nhiều dự án dùng thêm framework như React, Vue. Với di động, frontend là ứng dụng Android, iOS, Flutter. Nhiệm vụ của lập trình viên frontend là làm giao diện đẹp, dễ dùng, nhanh và phù hợp mọi kích cỡ màn hình.
Backend chạy trên server, lo những việc người dùng không thấy:
Ngôn ngữ backend phổ biến gồm PHP, Python, Java, C#, Go, Node.js (JavaScript). Phần này quyết định độ an toàn, ổn định và khả năng chịu tải của hệ thống.
Frontend và backend giao tiếp qua HTTP. Ví dụ luồng khi bạn mở trang danh sách khóa học trong một ứng dụng hiện đại:
GET /api/courses tới backend.// Frontend (JavaScript)
fetch("/api/courses")
.then(res => res.json())
.then(ds => console.log(ds));Và phía backend viết bằng Python với Flask, chỉ để minh họa:
from flask import Flask, jsonify
app = Flask(__name__)
@app.get("/api/courses")
def courses():
return jsonify([{"id": 1, "ten": "Python cơ bản"}])Hai đoạn code ở hai phía khác nhau nhưng nối với nhau qua cùng một đường dẫn /api/courses. Dữ liệu trao đổi thường ở dạng JSON.
Full-stack chỉ người (hoặc nhóm) làm được cả frontend lẫn backend. Không phải ai cũng cần là full-stack; nhiều công ty chia chuyên môn rõ. Tuy nhiên, hiểu sơ về phía còn lại giúp bạn phối hợp tốt: lập trình viên frontend nên biết API trả về gì, lập trình viên backend nên biết dữ liệu sẽ được hiển thị ra sao.
| Nếu bạn thích... | Gợi ý |
|---|---|
| Thấy kết quả ngay trên màn hình, thiết kế | Frontend |
| Logic, dữ liệu, hệ thống | Backend |
| Xây sản phẩm nhỏ trọn vẹn một mình | Full-stack |
Cách tốt nhất để hiểu sự phân chia là tự dựng một ứng dụng nhỏ gồm hai phần. Ý tưởng: danh sách ghi chú.
GET /api/notes trả danh sách, POST /api/notes thêm ghi chú. Ban đầu lưu trong một biến danh sách, sau nâng cấp lên cơ sở dữ liệu.fetch gọi hai endpoint.Khi làm, bạn sẽ gặp những vấn đề rất thực tế mà chỉ phân chia hai phía mới có:
Điểm cuối cùng rất quan trọng: mọi thứ chạy trên client đều có thể bị người dùng thay đổi, nên quy tắc bảo mật phải được thi hành ở backend.
Client gửi yêu cầu, server xử lý và trả lời; frontend là mặt tiền, backend là hậu cần. Hiểu bức tranh này, bạn sẽ không lạc khi đọc tài liệu hay tin tuyển dụng. Một bài tập tốt là xây một trang nhỏ hiển thị danh sách từ một API đơn giản do chính bạn viết.
Học xong lý thuyết, hãy thực hành thật nhiều; các bài giảng có bài tập trong khóa học codebem.com sẽ giúp bạn việc đó.
Nguyễn Đình Cường
0 comment