BackEnd là gì? FrontEnd là gì? Full Stack là gì?

BackEnd là gì? FrontEnd là gì? Full Stack là gì?
5/5 - (6 bình chọn)

BackEnd là gì? FrontEnd là gì? Full Stack là gì?

Lập trình Backend là gì?

Trong lập trình và phát triển, Backend (back-end) mô tả quá trình thiết kế và phát triển các chương trình, tập lệnh xử lý dữ liệu và thực hiện các tác vụ ở phía máy chủ (server side) mà người dùng không nhìn thấy.

BackEnd là gì? FrontEnd là gì? Full Stack là gì?

Ví dụ: nhà phát triển backend của một trang web chịu trách nhiệm về cách máy chủ gửi thông tin đến khách truy cập. Ngược lại, một nhà phát triển frontend chịu trách nhiệm về cách thông tin đó được trình bày và cách người dùng tương tác với nó.

Backend gồm những gì?

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. Một lập trình viên backend 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 được.

BackEnd là gì? FrontEnd là gì? Full Stack là gì?

Nói chung, tác vụ hoặc hoạt động backend là tác vụ được thực hiện ở chế độ nền, không có nhận thức hoặc tương tác trực tiếp của người dùng.

Công cụ để lập trình Backend là gì?

Để khiến cho 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 backend sử dụng các ngôn ngữ lập trình phía máy chủ như PHP, Ruby, Python, Java, và .Net để xây dựng một ứng dụng, và các công cụ như MySQL, Oracle, và SQL Server để tìm kiếm, lưu trữ, hoặc thay đổi dữ liệu và phục vụ trở lại tới người dùng trong phần frontend. Các công việc tuyển dụng lập trình viên backend cũng thường yêu cầu kinh nghiệm về các framework PHP như Zend, Symfony, và CakePHP; có kinh nghiệm với các phần mềm quản lý phiên bản như SVN, CVS, hoặc Git; và kinh nghiệm với Linux trong việc phát triển và triển khai hệ thống.

Danh sách các công cụ phổ biến để làm Backend:

BackEnd là gì? FrontEnd là gì? Full Stack là gì?
  • Java
  • ASP
  • PHP
  • C++
  • C#
  • Python
  • Node.js
  • Express.js
  • Ruby
  • REST
  • GO
  • SQL
  • MongoDB
  • Firebase.com
  • Sass
  • Less
  • Parse.com
  • PaaS (Azure and Heroku)

Các lập trình viên backend sử dụng những công cụ này để tạo ra hoặc đóng góp vào các ứng dụng web với code sạch, portable, và được viết tài liệu chu đáo. Nhưng trước khi viết code, họ cần phối hợp với bên liên quan về nghiệp vụ để hiểu những nhu cầu cụ thể, sau đó chuyển thành những yêu cầu kỹ thuật và đưa ra các giải pháp hiệu quả nhất cho việc kiến trúc công nghệ.

Ví dụ về backend

Khi bạn điều hướng tới trang web này, các máy chủ của wikimaytinh trả thông tin tới máy tính hoặc thiết bị di động của bạn, rồi chúng được chuyển thành trang web mà bạn đang nhìn thấy ngay bây giờ. Quá trình đó là kết quả công việc của một lập trình viên backend. Ngoài ra, nếu bạn đăng ký thành viên của wikimaytinh, việc lưu trữ các thông tin cá nhân của bạn – và thực tế là mỗi lần bạn quay trở lại trang web và đăng nhập, thì dữ liệu của bạn sẽ được gọi trở lại – đó là một phần công việc của lập trình viên backend.

Hình ảnh dưới đây là minh họa về trang quản trị backend của nền tảng WordPress

BackEnd là gì? FrontEnd là gì? Full Stack là gì?
Trang quản trị media của WP (backend)

Lập trình Frontend là gì?

Trong lập trình và phát triển, Frontend (front-end) là một thuật ngữ mô tả người thiết kế và phát triển UI (giao diện người dùng) ở phía máy người dùng (client side). Ví dụ: một nhà phát triển giao diện người dùng của trang web xử lý các khía cạnh trực quan về cách trang web trông và phản hồi với khách truy cập. Ngược lại, một nhà phát triển back-end xử lý cách máy chủ gửi thông tin đến khách truy cập và xử lý bất kỳ tập lệnh nào xử lý thông tin nền hoặc thực hiện các tác vụ.

Frontend gồm những gì?

Nói chung, phần Frontend của một trang web là phần tương tác với người dùng. Tất cả mọi thứ bạn nhìn thấy khi điều hướng trên web, từ các font chữ, màu sắc cho tới các menu xổ xuống và các thanh trượt, là một sự kết hợp của HTML, CSS, và JavaScript được điều khiển bởi trình duyệt máy tính của bạn.

Giao diện Frontend trên các thiết bị khác nhau
Giao diện Frontend trên các thiết bị khác nhau

Công cụ để lập trình Frontend là gì?

Các lập trình viên frontend chịu trách nhiệm cho giao diện của một trang web và kiến trúc những trải nghiệm của người dùng. Để thực hiện được những mục tiêu đó, các lập trình viên frontend phải thành thạo 3 ngôn ngữ thiết kế chính: HTML, CSS và JavaScript.

Ngoài việc thông thạo các ngôn ngữ đó, các lập trình viên frontend cần phải làm quen với các framework như Bootstrap, Foundation, Backbone, AngularJS, và EmberJS, để đảm bảo nội dung luôn hiển thị tốt trên mọi thiết bị khác nhau, và các thư viện như jQuery và LESS, đóng gói code vào trong một hình thức giúp tiết kiệm thời gian và hữu dụng hơn.

Công cụ để lập trình Frontend là gì?

Danh sách các công cụ thiết kế phổ biến phía front-end:

  • HTML
  • CSS
  • Bootstrap
  • W3.CSS
  • JavaScript
  • ES5
  • HTML DOM
  • JSON
  • XML
  • jQuery
  • Angular
  • React
  • Backbone.js
  • Ember.js
  • Redux
  • Storybook
  • GraphQL
  • Meteor.js
  • Grunt
  • Gulp
Danh sách các công cụ thiết kế phổ biến phía front-end:
Bootstrap framework để xây dựng front end

Ví dụ về frontend

Tất cả mọi thứ bạn đang nhìn thấy trên trang web này ngay bây giờ đều có thể được thực hiện bởi một lập trình viên frontend. Một designer tạo ra logo và đồ họa, một photographer cung cấp hình ảnh, một copywriter viết nội dung. Nhưng một lập trình viên frontend kết hợp tất cả những mảnh ghép đó lại và chuyển nó thành ngôn ngữ web, và tạo ra trải nghiệm mà bạn có khi duyệt qua mỗi trang.

Lập trình viên Full Stack là gì?

Nhà phát triển web Full Stack (FullStack) là người có thể phát triển cả phần mềm máy khách và máy chủ. Họ vừa nhà phát triển web hoặc kỹ sư làm việc với cả mặt trước và mặt sau của trang web hoặc ứng dụng — nghĩa là họ có thể giải quyết các dự án liên quan đến cơ sở dữ liệu, xây dựng trang web giao diện người dùng hoặc thậm chí làm việc với khách hàng trong giai đoạn lập kế hoạch của các dự án.

Ngoài việc thành thạo HTML và CSS, lập trình viên fullstack còn biết cách:

  • Lập trình trình duyệt (như sử dụng JavaScript, jQuery, Angular hoặc Vue)
  • Lập trình máy chủ (như sử dụng PHP, ASP, Python hoặc Node)
  • Lập trình cơ sở dữ liệu (như sử dụng SQL, SQLite hoặc MongoDB
BackEnd là gì? FrontEnd là gì? Full Stack là gì?

Đối với Full Stack Web Developer thì không có một sự phân biệt rõ ràng trắng đen giữa phát triển frontend và backend. Các lập trình viên frontend thường cần phải tìm hiểu thêm những kỹ năng backend, và ngược lại. 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ợi thế của Full Stack Developer

Lợi thế của việc trở thành một nhà phát triển web Full Stack là:

  • Có thể nắm vững tất cả các kỹ thuật liên quan đến một dự án phát triển
  • Có thể tạo một mẫu thử nghiệm rất nhanh chóng
  • Có thể trợ giúp tất cả các thành viên trong nhóm
  • Có thể giảm chi phí của dự án
  • Có thể giảm thời gian sử dụng cho giao tiếp nhóm
  • Có thể chuyển đổi giữa phát triển front end và back end dựa trên yêu cầu
  • Có thể hiểu rõ hơn về tất cả các khía cạnh của các công nghệ mới và sắp ra mắt

Hạn chế của Full Stack

  • Giải pháp được chọn có thể sai đối với dự án
  • Giải pháp được chọn có thể phụ thuộc vào kỹ năng của nhà phát triển
  • Giải pháp có thể tạo ra rủi ro cho người chủ chốt
  • Trở thành một nhà phát triển Full Stack ngày càng phức tạp

Nguồn: Lập trình BackEnd là gì? FrontEnd là gì? Full Stack là gì?

Bài viết này có hữu ích với bạn không?
Không