Số 42, ngõ 178 Thái Hà, Đống Đa, Hà Nội
0985 136 895

Làm thế nào để phân biệt giữa Front-End, Back-End và Full Stack?

Nếu có ý định làm việc trong ngành lập trình web (hoặc đang trong quá trình tìm việc), chắc hẳn các bạn sẽ quan tâm đến 2 thuật ngữ “Front-end” và “Back-end” vốn được nhắc đến nhiều trong các đoạn mô tả công việc từ nhà tuyển dụng. Vậy “Front-end” và “Back-end” là gì? Tại sao cần phân biệt giữa Front hay Back? Trong lập trình web có 3 loại lập trình web: Front-End vs Back-End vs Full Stack. Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu ba mảng lập trình này.

Front End Back End
Front End Back End

Front End Back End là gì?

Front-end – back-end là các thuật ngữ chỉ các giai đoạn bắt đầu và kết thúc của một quá trình xử lý.

Trong thiết kế phần mềm, front-end là một phần của hệ thống phần mềm, tương tác trực tiếp với người sử dụng. Cụ thể, nó xử lý các dữ liệu request nhận từ client và response gửi cho client.

Back-end (phần lập trình trên server) gồm có các thành phần để xử lý các thông tin từ Front-end. Thông thường ám chỉ tới việc tương tác với DBMS (hệ quản trị dữ liệu). Là quá trình xử lý các dữ liệu request ở phía server. Quá trình nhào nặn trên trình ứng dụng server (application) để tạo ra gói trả lời response gửi trả về cho client.

Front End Developer là ai?

Một lập trình viên front-end như là người chịu trách nhiệm thiết kế nội thất (phong thuỷ) của ngôi nhà đã được xây dựng bởi một lập trình viên back-end.

Lập trình viên Front End là người tập trung phát triển phía Client Side. Hay nói một cách đơn giản hơn là người tập trung vào mảng phát triển xây dựng giao diện và trải nghiệm cho người dùng.

Ví dụ để tạo một  giao diện trang web Front End Developer là người xác định: logo đặt ở đâu, màu chủ đạo là màu gì, font chữ to hay nhỏ, ảnh này để kích cỡ thế nào…… Vì thế nên người lập trình cần phải có khả năng nhìn và cảm nhận với con mắt thật tinh tường.

Kỹ năng Front-End của người lập trình

Front End Back End
Front End Back End

Là người chịu trách nhiệm phần giao diện trang web và kiến trúc trải nghiệm người dùng, các Front End Developer cần phải thành thạo 3 ngôn ngữ lập trình chủ đạo: HTML, CSS và JavaScript.

Ngoài việc thông thạo các ngôn ngữ đó, lập trình viên front-end cần phải làm quen với các framework khác như:

  • Một số thư viện/framework nổi tiếng: Bootstrap, jQuery, AngularJS, React JS, Vue JS, EmberJS…
  • Kĩ năng thiết kế, sử dụngPhotoshop. Kiến thức và kinh nghiệm về UI/UX.
  • LESS, SASS (stylesheet language).
  • Sử dụng npm, grunt, … để optimize, minimize HTML/CSS/JS.
  • Kiến thức về Ajax, cách thiết kế giao diện responsive …..

Back End Developer là ai?

Nếu lập trình viên Front End tạo ra một trang web hoạt động được thì lập trình viên Back End làm những công việc gì?

Back End developer là người xử lý mọi logic nghiệp vụ phức tạp ở ẩn ở phía sau, giúp cho hệ thống hoạt động trơn tru. Dữ liệu của người dùng, thuật toán phân tích,  đều nằm ở back-end.

Back End Developer là người quyết định cách thức website được vận hành. Người vô cùng quan trọng. Phần back-end của một trang web bao gồm một máy chủ, một ứng dụng và một cơ sở dữ liệu. Lập trình viên back-end xây dựng và duy trì công nghệ mà sức mạnh của những thành phần đó, cho phép phần giao diện người dùng của trang web có thể tồn tại.

Kỹ năng Back End

Để máy chủ, ứng dụng và cơ sở dữ liệu có thể giao tiếp được với nhau, các lập trình viên back-end sử dụng các ngôn ngữ như :

  • Ngôn ngữ server-side để viết back-end: C#, Java, Python, Ruby, …. Dĩ nhiên là phải bao gồm kiến thức về những web framework đi kèm các ngôn ngữ này: ASP.NET MVC, Spring, Django, Rails …
  • Kiến thức về database SQL: MS SQL Server, MySQL, … Gần đây một số database NoSQL đang khá thịnh hành: Neo4j, MongoDB, …
  • Kiến thức về web nói chung, cách viết Web Service, cách đăng nhập và phân quyền .
  • Kiến thức về 1 số CMS: WordPress, Joomla, Umbraco, ….

Code phần back end thường rất phức tạp. Do đó back end developer cần chăm chỉ trau dồi kiến thức để phát triển nghề nghiệp của mình.

Full Stack Developer là ai?

Thường không có sự phân biệt rõ ràng giữa phát triển front-end và back-end. Matranga nói: “Các lập trình viên front-end cần phải tìm hiểu thêm những kỹ năng back-end và ngược lại, đặc biệt trong giai đoạn kinh tế hiện nay. Các lập trình viên cần phải có nhiều kỹ năng khác nhau và có kiến thức tổng hợp.”

Lập trình viên Full Stack là người làm đủ cả Front End lẫn Back End. Lập trình viên vừa có tư duy logic lại có óc thẩm mĩ tinh tế. Vừa code server giỏi lại biết linh hoạt biến hoá với css.

Các lập trình viên full stack làm việc giống như các lập trình viên back-end ở phía máy chủ của lập trình web. Nhưng họ có thể cũng thành thạo các ngôn ngữ front-end. Để điều khiển nội dung trông như thế nào ở phía giao diện của trang web. Họ là những người đa năng.

Kỹ năng Full Stack của người lập trình

Để trở thành 1 lập trình viên full stack thì bạn cần có những skill sau:

  • Front End Back End
    Front End Back End
  • HTML5/CSS2
  • MYSQL
  • PHP/PYTHON/RUBY…
  • Ios, Android

Bất kể là sử dụng công cụ xác định nào, tùy thuộc vào dự án và khách hàng, các lập trình viên full stack nên có kiến thức ở mọi cấp độ về cách web hoạt động. Như cài đặt và cấu hình các máy chủ Linux, viết các API server-side. Nhảy vào phần JavaScript client-side của một ứng dụng. Và cũng cần có “con mắt thẩm mỹ” với CSS.

Sử dụng những công cụ này, các lập trình viên full stack cần có khả năng ngay lập tức xác định trách nhiệm của client-side hay server-side. hãy nhớ điều quan trọng nhất để trở thành lập trình viên front-end là code nhiều nhất có thể. Và trình bày rõ ràng về mặt ưu nhược điểm của các giải pháp khác nhau.

Kết luận:

Front End Developer là một nghề rất kiếm ra tiền, nhưng với điều kiện bạn phải làm tốt. Hãy nhớ điều quan trọng nhất để trở thành lập trình viên front-end là code nhiều nhất có thể (code nhiều thì bạn mới có thể lên tay được ). Nếu bạn thực sự chỉ đam mê và chỉ thích thú với việc tạo ra các website đẹp, thì bạn hãy chăm chút cho nghề nghiệp của mình nhé và có thể học thêm cả photoshop nữa.

Back End Developer là người quyết định cách thức website được vận hành. Người vô cùng quan trọng.

 

Leave a comment