
Khi b\u1eaft \u0111\u1ea7u h\u1ecdc l\u1eadp trình, chúng ta th\u01b0\u1eddng nghe nh\u1eefng thu\u1eadt ng\u1eef nh\u01b0 frontend và backend. V\u1eady \u0111âu là s\u1ef1 khác bi\u1ec7t gi\u1eefa chúng? Trong bài vi\u1ebft này, chúng ta s\u1ebd tìm hi\u1ec3u v\u1ec1 hai khái ni\u1ec7m này và cách chúng t\u01b0\u01a1ng tác v\u1edbi nhau.<\/strong><\/p>\n Frontend (giao di\u1ec7n ng\u01b0\u1eddi dùng) là ph\u1ea7n c\u1ee7a m\u1ed9t \u1ee9ng d\u1ee5ng mà ng\u01b0\u1eddi dùng cu\u1ed1i có th\u1ec3 nhìn th\u1ea5y và t\u01b0\u01a1ng tác tr\u1ef1c ti\u1ebfp. Frontend bao g\u1ed3m các công ngh\u1ec7 nh\u01b0 HTML, CSS và JavaScript. HTML \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 t\u1ea1o ra c\u1ea5u trúc c\u1ee7a trang web, CSS \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 thi\u1ebft k\u1ebf và \u0111\u1ecbnh d\u1ea1ng n\u1ed9i dung, và JavaScript \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 t\u1ea1o ra các tính n\u0103ng t\u01b0\u01a1ng tác nh\u01b0 ki\u1ec3m tra h\u1ee3p l\u1ec7 c\u1ee7a bi\u1ec3u m\u1eabu \u0111\u0103ng nh\u1eadp ho\u1eb7c g\u1eedi yêu c\u1ea7u AJAX \u0111\u1ebfn máy ch\u1ee7.<\/p>\n Frontend ph\u1ee5 thu\u1ed9c vào backend \u0111\u1ec3 l\u1ea5y d\u1eef li\u1ec7u và thông tin c\u1ea7n thi\u1ebft. Ví d\u1ee5, khi ng\u01b0\u1eddi dùng \u0111\u0103ng nh\u1eadp vào trang web, backend s\u1ebd xác minh thông tin \u0111\u0103ng nh\u1eadp và g\u1eedi ph\u1ea3n h\u1ed3i cho frontend \u0111\u1ec3 hi\u1ec3n th\u1ecb thông tin cho ng\u01b0\u1eddi dùng.<\/p>\n Backend (máy ch\u1ee7) là ph\u1ea7n c\u1ee7a m\u1ed9t \u1ee9ng d\u1ee5ng mà ng\u01b0\u1eddi dùng cu\u1ed1i không th\u1ec3 nhìn th\u1ea5y ho\u1eb7c t\u01b0\u01a1ng tác tr\u1ef1c ti\u1ebfp. Backend bao g\u1ed3m các ngôn ng\u1eef l\u1eadp trình nh\u01b0 PHP, Ruby, Python, C# ho\u1eb7c Java. Backend \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 l\u01b0u tr\u1eef và qu\u1ea3n lý d\u1eef li\u1ec7u, x\u1eed lý các yêu c\u1ea7u t\u1eeb frontend và t\u1ea1o ra các ph\u1ea3n h\u1ed3i cho ng\u01b0\u1eddi dùng.<\/p>\n Backend có th\u1ec3 \u0111\u01b0\u1ee3c phân lo\u1ea1i thành các ph\u1ea7n khác nhau nh\u01b0 máy ch\u1ee7 \u1ee9ng d\u1ee5ng, c\u01a1 s\u1edf d\u1eef li\u1ec7u và các d\u1ecbch v\u1ee5 web. Máy ch\u1ee7 \u1ee9ng d\u1ee5ng là n\u01a1i mã ngu\u1ed3n c\u1ee7a \u1ee9ng d\u1ee5ng \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef và th\u1ef1c thi. C\u01a1 s\u1edf d\u1eef li\u1ec7u là n\u01a1i d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef và qu\u1ea3n lý. Các d\u1ecbch v\u1ee5 web cung c\u1ea5p các API \u0111\u1ec3 cho phép các \u1ee9ng d\u1ee5ng khác truy c\u1eadp vào d\u1eef li\u1ec7u ho\u1eb7c các ch\u1ee9c n\u0103ng khác c\u1ee7a \u1ee9ng d\u1ee5ng.<\/p>\n S\u1ef1 khác bi\u1ec7t chính gi\u1eefa frontend và backend là cách chúng x\u1eed lý d\u1eef li\u1ec7u. Frontend th\u01b0\u1eddng x\u1eed lý d\u1eef li\u1ec7u mà ng\u01b0\u1eddi dùng nh\u1eadp vào \u0111\u1ec3 t\u1ea1o ra các yêu c\u1ea7u \u0111\u1ebfn backend. Backend s\u1ebd x\u1eed lý các yêu c\u1ea7u này và g\u1eedi l\u1ea1i các ph\u1ea3n h\u1ed3i cho frontend hi\u1ec3n th\u1ecb cho ng\u01b0\u1eddi dùng.<\/p>\n Frontend và backend c\u0169ng khác nhau v\u1ec1 các k\u1ef9 n\u0103ng c\u1ea7n thi\u1ebft \u0111\u1ec3 phát tri\u1ec3n. Frontend yêu c\u1ea7u các k\u1ef9 n\u0103ng v\u1ec1 thi\u1ebft k\u1ebf web và các công ngh\u1ec7 nh\u01b0 HTML, CSS và JavaScript. Backend yêu c\u1ea7u các k\u1ef9 n\u0103ng v\u1ec1 l\u1eadp trình và các ngôn ng\u1eef l\u1eadp trình nh\u01b0 PHP, Python, C#, Java ho\u1eb7c Ruby.<\/p>\n Nh\u01b0 \u0111ã \u0111\u1ec1 c\u1eadp \u1edf ph\u1ea7n tr\u01b0\u1edbc, Frontend và Backend là hai ph\u1ea7n quan tr\u1ecdng c\u1ee7a m\u1ed9t \u1ee9ng d\u1ee5ng web và c\u1ea7n \u0111\u01b0\u1ee3c t\u01b0\u01a1ng tác ch\u1eb7t ch\u1ebd. D\u01b0\u1edbi \u0111ây là m\u1ed9t s\u1ed1 ví d\u1ee5 v\u1ec1 cách Frontend và Backend t\u01b0\u01a1ng tác v\u1edbi nhau:<\/p>\n Frontend s\u1eed d\u1ee5ng các yêu c\u1ea7u HTTP \u0111\u1ec3 truy v\u1ea5n d\u1eef li\u1ec7u t\u1eeb Backend. Các ph\u01b0\u01a1ng th\u1ee9c HTTP ph\u1ed5 bi\u1ebfn nh\u1ea5t là GET, POST, PUT và DELETE. Frontend s\u1ebd t\u1ea1o yêu c\u1ea7u HTTP và g\u1eedi nó \u0111\u1ebfn Backend. Backend s\u1ebd x\u1eed lý yêu c\u1ea7u này và tr\u1ea3 v\u1ec1 d\u1eef li\u1ec7u cho Frontend.<\/p>\n Khi ng\u01b0\u1eddi dùng \u0111\u0103ng nh\u1eadp vào trang web, Frontend s\u1ebd chuy\u1ec3n thông tin \u0111\u0103ng nh\u1eadp \u0111\u1ebfn Backend \u0111\u1ec3 xác th\u1ef1c. Backend s\u1ebd ki\u1ec3m tra thông tin \u0111\u0103ng nh\u1eadp và tr\u1ea3 v\u1ec1 m\u1ed9t mã thông báo xác th\u1ef1c n\u1ebfu thông tin là chính xác. Frontend s\u1ebd s\u1eed d\u1ee5ng mã thông báo này \u0111\u1ec3 truy c\u1eadp các tính n\u0103ng c\u1ee7a \u1ee9ng d\u1ee5ng.<\/p>\n Frontend có th\u1ec3 t\u1ea1o, \u0111\u1ecdc, c\u1eadp nh\u1eadt và xóa d\u1eef li\u1ec7u b\u1eb1ng cách s\u1eed d\u1ee5ng các yêu c\u1ea7u HTTP. Backend s\u1ebd x\u1eed lý các yêu c\u1ea7u này và th\u1ef1c hi\u1ec7n các hành \u0111\u1ed9ng t\u01b0\u01a1ng \u1ee9ng v\u1edbi d\u1eef li\u1ec7u.<\/p>\n Trong bài vi\u1ebft này, chúng ta \u0111ã tìm hi\u1ec3u v\u1ec1 s\u1ef1 khác bi\u1ec7t gi\u1eefa Frontend và Backend và cách chúng t\u01b0\u01a1ng tác v\u1edbi nhau \u0111\u1ec3 t\u1ea1o ra m\u1ed9t \u1ee9ng d\u1ee5ng web hoàn ch\u1ec9nh. Frontend là ph\u1ea7n c\u1ee7a \u1ee9ng d\u1ee5ng mà ng\u01b0\u1eddi dùng cu\u1ed1i có th\u1ec3 nhìn th\u1ea5y và t\u01b0\u01a1ng tác tr\u1ef1c ti\u1ebfp, trong khi Backend là ph\u1ea7n c\u1ee7a \u1ee9ng d\u1ee5ng mà ng\u01b0\u1eddi dùng cu\u1ed1i không th\u1ec3 nhìn th\u1ea5y ho\u1eb7c t\u01b0\u01a1ng tác tr\u1ef1c ti\u1ebfp. \u0110\u1ec3 t\u1ea1o ra m\u1ed9t \u1ee9ng d\u1ee5ng web hoàn ch\u1ec9nh, Frontend và Backend c\u1ea7n \u0111\u01b0\u1ee3c t\u01b0\u01a1ng tác ch\u1eb7t ch\u1ebd và th\u1ef1c hi\u1ec7n các ch\u1ee9c n\u0103ng t\u01b0\u01a1ng \u1ee9ng c\u1ee7a mình \u0111\u1ec3 \u0111áp \u1ee9ng nhu c\u1ea7u c\u1ee7a ng\u01b0\u1eddi dùng.<\/p>\nFrontend<\/h2>\n
Backend<\/h2>\n
S\u1ef1 khác bi\u1ec7t<\/h2>\n
T\u01b0\u01a1ng tác gi\u1eefa Frontend và Backend<\/h2>\n
Truy v\u1ea5n d\u1eef li\u1ec7u<\/h3>\n
Xác th\u1ef1c ng\u01b0\u1eddi dùng<\/h3>\n
T\u1ea1o, \u0111\u1ecdc, c\u1eadp nh\u1eadt và xóa (CRUD)<\/h3>\n
T\u1ed5ng k\u1ebft<\/h2>\n
L\u1ed9 trình front-end Zero<\/h2>"},{"type":"courses","open":false,"confirmDelete":false,"delete":0,"courses":[{"id":51,"title":"Front-end Zero","slug":"front-end-zero"},{"id":29,"title":"React","slug":"react"}]}]
Khóa học Front-end tại Spacedev.vn từ số 0
5.0
(22 đánh giá)
143 học viên
Cập nhật lần cuối: 26 tháng 2 năm 2023
Bài viết dành cho bạn
Senior developer là gì và làm sao tôi có thể trở thành senior developer?
Trong ngành công nghệ thông tin, lập trình viên senior là một vị trí quan trọng và được đánh giá cao. Để trở thành một lập trình viên senior, bạn cần phải có kinh nghiệm, kiến thức chuyên môn sâu rộng, kỹ năng mềm tốt và tinh thần chủ động và sáng tạo. Bài viết này cung cấp những yếu tố quan trọng để trở thành một chuyên gia trong lĩnh vực lập trình và cách để trở thành một lập trình viên senior.
Câu hỏi phỏng vấn dành cho Junior Front End Developer
Mục đích của bài viết này là giúp các Nhà phát triển Web Front-End mới làm quen với các câu hỏi khi đi phỏng vấn. Nếu bạn mới bước chân vào thế giới lập trình, rất có thể bạn sẽ cảm thấy lo lắng khi phỏng vấn cho vị trí lập trình viên. Do đó, một số câu hỏi tương đối cơ bản nhưng có thể khó hơn so với thực tế nếu bạn chưa chuẩn bị kỹ.