Thứ Năm, 9 tháng 2, 2023

Front-end và Back-end

 

1.    Front-end, Back-end

Phát triển web là một trong những phần quan trọng nhất của CNTT vì nó giúp xây dựng cầu nối giữa người tiêu dùng và nhà cung cấp. Trang Web giúp thực hiện các tác vụ phức tạp và được tự động hóa thông qua các chức năng khác nhau. Hai phần không thể thiếu của phát triển web là Front-end và Back-end. Front-end là những gì người dùng nhìn thấy và tương tác còn back-end là cách thức mà mọi thứ hoạt động. Mỗi bên cần giao tiếp và hoạt động hiệu quả với bên kia như một đơn vị duy nhất để cải thiện chức năng của trang web.  Hai thuật ngữ này rất quan trọng đối với việc phát triển web, nhưng chúng rất khác nhau.

(Nguồn hình: https://academind.com/tutorials/frontend-vs-backend)


2.    Những tìm hiểu về front-end

a.    Front-end là gì?

Front-end là một phần của trang web mà người dùng có thể xem và tương tác, chẳng hạn như front-end đồ họa (GUI  - Graphical User Interface – Giao diện đồ họa người dùng) và dòng lệnh bao gồm thiết kế, điều hướng menu, văn bản, hình ảnh, video, v.v. Ngược lại, back-end, là phần của trang web mà người dùng không thể nhìn thấy và tương tác. Những khía cạnh trực quan của trang web mà người dùng có thể nhìn thấy và trải nghiệm là front-end. Mặt khác, mọi thứ xảy ra ngầm bên trong trang web có thể được gọi chung là back-end.

Người làm front-end không viết code, người này chỉ phụ trách tất cả các khía cạnh của việc xây dựng và thiết kế lại các trang web sao cho chúng vừa hấp dẫn trực quan và vừa thiết kế thân thiện với người dùng. Vai trò của nhà phát triển front-end là tạo ra một môi trường mà người dùng có thể nhìn thấy và chạm vào với sự trợ giúp của sự kết hợp của một số công cụ bao gồm HTML, CSS và JavaScript.

b.    Những ngôn ngữ lập trình front-end

Front-end được xây dựng bằng cách sử dụng một số ngôn ngữ sau:

·      HTML: HTML là viết tắt của Hypertext Markup Language - Ngôn ngữ đánh dấu siêu văn bản. HTML là sự kết hợp giữa hypertextmarkup language. Hypertext xác định liên kết giữa các trang web.

·      CSS: Cascading Style Sheets là một ngôn ngữ được thiết kế đơn giản nhằm mục đích đơn giản hóa quá trình làm cho các trang web hiển thị được.

·      JavaScript: JavaScript là ngôn ngữ nổi tiếng được sử dụng để tạo ra những “phép màu” trên các trang web nhằm làm cho trang web tương tác được với người dùng. Javascript có thể áp dụng ở cả front-end và back-end.

Có nhiều ngôn ngữ khác mà qua đó người ta có thể thực hiện phát triển front-end và mỗi ngôn ngữ có framework tương thích. Ví dụ: Flutter sử dụng Dart, React sử dụng JavaScript và Django sử dụng Python, v.v.

c.     Front-end framework

·      AngularJS: AngularJs là một khung giao diện người dùng mã nguồn mở JavaScript của Microsoft chủ yếu được sử dụng để phát triển các ứng dụng web một trang (SPA - single-page web applications). AngularJs thay đổi HTML tĩnh thành HTML động, mở rộng các thuộc tính HTML với Directives và dữ liệu được liên kết với HTML.

·      React.js: React là một thư viện JavaScript hiệu quả và linh hoạt để xây dựng giao diện người dùng. ReactJS là một thư viện front-end dựa trên các thư viện mã nguồn mở chuyên về front-end của các trang Web. ReactJS được duy trì bởi Facebook. React Js làm cho việc phát triển Front-end trở nên rất dễ dàng.

·      jQuery: jQuery là một thư viện JavaScript nguồn mở giúp đơn giản hóa các tương tác giữa tài liệu HTML/CSS hay đúng hơn là các DOM (Document Object Model) và JavaScript. jQuery đơn giản hóa việc duyệt và thao tác trên các tài liệu HTML, xử lý sự kiện trình duyệt, hình động DOM, tương tác Ajax và phát triển JavaScript trên nhiều trình duyệt.

·      SASS: Đây là ngôn ngữ mở rộng CSS đáng tin cậy, hoàn thiện và mạnh mẽ. Nó được sử dụng để mở rộng chức năng của CSS hiện có của trang web, bao gồm mọi thứ từ biến, kế thừa và lồng nhau một cách dễ dàng.

·      Flutter: Flutter là SDK phát triển giao diện người dùng mã nguồn mở do Google quản lý với ngôn ngữ lập trình Dart. Nó xây dựng các ứng dụng được biên dịch nguyên gốc có hiệu suất và đẹp mắt dành cho thiết bị di động (Ios, Android), web và máy tính để bàn từ một cơ sở mã duy nhất

·      Và nhiều framework và thư việc khác như Semantic-UI, Foundation, Materialize, Backbone.js, Ember.js, v.v.


(Nguồn hình: https://kenzie.snhu.edu/blog/front-end-vs-back-end-whats-the-difference/)

3.    Những tìm hiểu về backend

a.    Back-end là gì?

Back-end là phần hoạt động phía máy chủ (server-side) của trang web, giúp lưu trữ và sắp xếp dữ liệu, đồng thời đảm bảo mọi thứ ở phía máy khách (client-side) của trang web hoạt động tốt. Đây là một phần của trang web mà người dùng không thể xem và tương tác vì back-end không tiếp xúc trực tiếp với người dùng. Các chức năng và hoạt động của backend và người dùng truy cập gián tiếp thông qua front-end và ứng dụng ngoại vị. Các nhà phát triển back-end xử lý mọi thứ không liên quan đến việc front-end, chẳng hạn như viết API, tạo thư viện hoặc thêm tiện ích cho trang Web. Nói tóm lại, back-end là sự kết hợp giữa phát triển và duy trì chức năng cốt lõi của ứng dụng phần mềm. Những nhà phát triển back-end có xu hướng dành nhiều thời gian hơn để tìm ra logic và triển khai các thuật toán hơn là các nhà thiết kế web để đảm bảo trang web hoạt động bình thường. Đó như là bộ não của một trang web.

b.    Một số ngôn ngữ lập trình back-end

·      PHP: PHP là ngôn ngữ scripting được thiết kế dành riêng cho phát triển web. Vì mã PHP được thực thi ở phía máy chủ nên nó được gọi là ngôn ngữ kịch bản phía máy chủ (server-side scripting language).

·      C ++: Đây là ngôn ngữ lập trình đa năng và ngày nay được sử dụng rộng rãi để lập trình thi đấu. Nó cũng được sử dụng như một ngôn ngữ back-end.

·      Java: Java là một trong những ngôn ngữ và nền tảng lập trình phổ biến, được sử dụng rộng rãi nhất vì có khả năng mở rộng cao. Các thư viện của Java luôn sẵn có và tiện lợi.

·      Python: Python là ngôn ngữ lập trình cho phép bạn làm việc nhanh chóng và tích hợp hệ thống hiệu quả hơn. Nó cũng là một ngôn ngữ rất quan trọng cho back-end.

·      Node.js: Node.js là môi trường runtime mã nguồn mở và đa nền tảng để thực thi mã JavaScript bên ngoài trình duyệt. NodeJS không phải là một framework và nó không phải là ngôn ngữ lập trình. Hầu hết mọi người đều nhầm lẫn và hiểu đó là một framework hoặc một ngôn ngữ lập trình. Người dùng thường sử dụng Node.js để xây dựng các dịch vụ back-end như API, ứng dụng web hoặc ứng dụng dành cho thiết bị di động. Nó được nhiều công ty lớn sử dụng như Paypal, Uber, Netflix, Walmart, v.v.

Một số ngôn ngữ lập trình scripting back-end khác là C#, Ruby, GO,…

c.     Back-end framework

·      Express – Express được sử dụng để xây dựng các ứng dụng web đơn trang, nhiều trang và ứng dụng hybrid . Với sự trợ giúp của Express, bạn có thể xử lý nhiều yêu cầu HTTP khác nhau.

·      Django – Django là một framework dựa trên ngôn ngữ web của Python, theo mô hình model-template-views. Nó được sử dụng để xây dựng các ứng dụng web lớn và phức tạp. Các tính năng của nó nhanh, an toàn và có thể mở rộng.

·      Ruby on Rails – Ruby on Rails là một framework phía máy chủ theo mẫu kiến trúc model-view-controller. Nó cung cấp các cấu trúc mặc định như dịch vụ web, trang web và cơ sở dữ liệu.

·      Laravel – Laravel là một framework ứng dụng web dành cho PHP và ổn định. Tính năng làm cho nó trở nên hoàn hảo là sử dụng lại các thành phần của các framework khác nhau để tạo ứng dụng web.

Tài liệu tham khảo

[1].         https://www.pluralsight.com/blog/software-development/front-end-vs-back-end

[2].         https://www.geeksforgeeks.org/frontend-vs-backend/

[3].         https://www.conceptatech.com/blog/difference-front-end-back-end-development

[4].         https://kenzie.snhu.edu/blog/front-end-vs-back-end-whats-the-difference/

[5].         http://www.differencebetween.net/technology/difference-between-frontend-and-backend/

[6].         https://www.interviewbit.com/blog/difference-between-frontend-and-backend/

Không có nhận xét nào:

Đăng nhận xét

Sandbox

Thuật ngữ "sandbox" trong bối cảnh công nghệ được dùng để chỉ một môi trường thử nghiệm an toàn, trong đó các phần mềm, chương tr...