Frontend và backend là gì? Đây là một câu hỏi từ một bạn trên Hoovada – nền tảng hỏi và đáp chuyên nghiệp trên nhiều lĩnh vực khác nhau giúp giải đáp thắc mắc của mọi người.
Đáp án đến từ bạn Nguyễn Phúc – một thành viên của Hoovada sống tại TPHCM
Front End và Back End: Frontend và Backend là hai thuật ngữ phổ biến nhất được sử dụng trong phát triển web, tuy trái ngược nhau nhưng đều vô cùng quan trọng đối với sự phát triển web. Mỗi bên cần giao tiếp và hoạt động hiệu quả với bên nhau để cải thiện chức năng của trang web.
Phát triển Front End: Front End hay ‘phía khách hàng’ của trang web hay ứng dụng là mà người dùng tương tác trực tiếp. Nó bao gồm mọi thứ mà người dùng trải nghiệm trực tiếp trong đó có màu sắc và kiểu văn bản, hình ảnh,…. Cấu trúc, thiết kế, hành vi và nội dung của mọi thứ hiển thị trên màn hình trình duyệt khi các trang web, ứng dụng web hoặc ứng dụng di động được mở ra, được thực hiện bởi các nhà phát triển Front End. Mục tiêu chính của Front End là khả năng đáp ứng và hiệu suất. Nhà phát triển phải đảm bảo rằng trang web đáp ứng, tức là nó xuất hiện chính xác trên các thiết bị ở mọi kích thước và không có phần nào không thể hoạt động được.
Ngôn ngữ của Front End: Phần Front End được xây dựng bằng cách sử dụng một số ngôn ngữ bên dưới:
- HTML: Hypertext Markup Language (HTML) là sự kết hợp giữa siêu văn bản và ngôn gữ đánh dấu, được sử dụng để thiết kế phần giao diện người dùng của các trang web. Siêu văn bản xác định liên kết giữa các trang web còn ngôn ngữ đánh dấu được sử dụng để xác định tài liệu văn bản trong thẻ xác định cấu trúc của các trang web.
- CSS: Cascading Style Sheets (CSS) 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 có thể hiển thị. CSS cho phép bạn áp dụng các kiểu cho các trang web. Quan trọng hơn, CSS cho phép bạn làm điều này độc lập với HTML tạo nên mỗi trang web.
- JavaScript: JavaScript là một ngôn ngữ kịch bản nổi tiếng được sử dụng để tạo ra ma thuật trên các trang web để làm cho trang web trở nên tương tác cho người dùng. Nó được sử dụng để nâng cao chức năng của một trang web để chạy các trò chơi thú vị và phần mềm dựa trên web.
Có nhiều ngôn ngữ khác mà qua đó người ta có thể phát triển front-end tùy thuộc vào khung công tác, ví dụ như Flutter user Dart, React sử dụng JavaScript và Django sử dụng Python, v.v.
Khung làm việc và Thư viện của Front End:
- AngularJS: AngularJs là một framework front-end mã nguồn mở JavaScript được sử dụng chủ yếu để phát triển các ứng dụng web một trang (SPA). Nó là một khuôn khổ liên tục phát triển và mở rộng cung cấp những cách tốt hơn để phát triển các ứng dụng web. Nó thay đổi HTML tĩnh thành HTML động. Nó là một dự án mã nguồn mở có thể miễn phí. Nó 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 khai báo, 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 thành phần mã nguồn mở chỉ chịu trách nhiệm cho lớp xem của ứng dụng. Nó được duy trì bởi Facebook.
- Bootstrap: Bootstrap là một bộ sưu tập công cụ mã nguồn mở và miễn phí để tạo các trang web và ứng dụng web đáp ứng. Đây là khuôn khổ HTML, CSS và JavaScript phổ biến nhất để phát triển các trang web đáp ứng, ưu tiên thiết bị di động.
- jQuery: jQuery là một thư viện JavaScript mã nguồn mở giúp đơn giản hóa các tương tác giữa một tài liệu HTML / CSS, hay chính xác hơn là Mô hình Đối tượng Tài liệu (DOM) và JavaScript. Xây dựng các điều khoản, jQuery đơn giản hóa việc duyệt và thao tác tài liệu HTML, xử lý sự kiện trình duyệt, hoạt ảnh 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 ủa CSS đáng tin cậy, được phát triển đầy đủ và mạnh mẽ nhất. Nó được sử dụng để mở rộng chức năng của CSS hiện có của một trang web bao gồm mọi thứ từ các biến, kế thừa và lồng một cách dễ dàng.
- Flutter: Flutter là một SDK phát triển giao diện người dùng mã nguồn mở do google quản lý. Nó được cung cấp bở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 bản hiệu quả và đẹp mắt 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. Điểm bán hàng chính của Flagship là phát triển phẳng được thực hiện dễ dàng hơn, giao diện người dùng biểu cảm, linh hoạt và hiệu suất gốc. Vào tháng 3 năm 2021, Flutter 2 đã công bố Flutter 2 trong đó các bản nâng cấp được nâng cấp để xây dựng các ứng dụng phát hành cho web và máy tính để bàn đang ở trạng thái beta.
Một số thư viện và khung làm việc khác là Semantic-UI, Foundation, Materialize, Backbone.js, Ember.js, v.v.
Phát triển Back End: Back End là phía máy chủ của trang web. Nó đảm nhận việc lưu trữ và sắp xếp dữ liệu cũng như đảm bảo phía người dùng trang web hoạt động tốt. Nó là một phần của trang web mà người dùng không thể nhìn thấy hay tương tác được. Các phần và đặc điểm được phát triển bởi các nhà thiết kế Back End được người dùng truy cập gián tiếp thông qua một ứng dụng front-end. Các hoạt động như viết API, tạo thư viện và làm việc với các thành phần hệ thống cũng được bao gồm trong Back End.
Ngôn ngữ của Back end: Phần back end được xây dựng bằng cách sử dụng một số ngôn ngữ bên dưới:
- PHP: PHP là một ngôn ngữ kịch bản phía máy chủ được thiết kế đặc biệt để phát triển web. Vì mã PHP được thực thi ở phía máy chủ, vì vậy nó được gọi là ngôn ngữ kịch bản phía máy chủ.
- C ++: Nó là một ngôn ngữ lập trình đa năng và được sử dụng rộng rãi ngày nay để lập trình cạnh tranh. Nó cũng được sử dụng như một ngôn ngữ phụ trợ.
- Java: Java là một trong những nền tảng và ngôn ngữ lập trình phổ biến nhất. Nó có khả năng mở rộng cao. Các thành phần của Java luôn có sẵn.
- Python: Python là một ngôn ngữ lập trình cho phép bạn làm việc nhanh chóng và tích hợp các hệ thống hiệu quả hơn.
- JavaScript: JavaScript có thể được sử dụng cho cả front end và back end.
- Node.js: Node.js là một môi trường chạy mã nguồn mở và đa nền tảng để thực thi mã JavaScript bên ngoài trình duyệt. Hầu hết mọi người đều nhầm lẫn Node.js là một khuôn khổ hoặc một ngôn ngữ lập trình nhưng điều đó hoàn toàn không chính xác. Node.js thường được sử dụng để xây dựng các dịch vụ back-end như API như Web App hoặc Mobile App cũng như trong sản xuất của các công ty lớn như Paypal, Uber, Netflix, Wallmart, v.v.
Khung làm việc của Back End:
Danh sách các khung làm việc ủa back-end là: Express, Django, Rails, Laravel, Spring, v.v.
Các ngôn ngữ kịch bản / chương trình back-end khác là C #, Ruby, REST, GO, v.v.
**Sự khác biệt giữa Frontend và Backend: **
Sự phát triển của Frontend và Backend khá khác nhau, nhưng chúng vẫn là hai khía cạnh của cùng một công việc. Frontend là những gì người dùng nhìn thấy và tương tác và Backend là cách mọi thứ hoạt động.
Front End là phần của trang web mà người dùng có thể nhìn thấy và tương tác như giao diện đồ họa người dùng (GUI) và dòng lệnh trong đó có thiết kế, điều hướng menu, văn bản, hình ảnh, video và nhiều thứ khác. Ngược lại, Back End là một phần của trang web mà người dùng không thể nhìn thấy và tương tác.
Các 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 trong nền có thể được quy cho Back End.
Các ngôn ngữ thường được sử dụng cho Front End là HTML, CSS, JavaScript trong khi Back End sử dụng những ngôn ngữ như Java, Ruby, Python, .Net.
Đáp án đến từ bạn Nguyễn Phúc – một thành viên của Hoovada sống tại TPHCM. Các bạn có thể kết nối với nhau thông qua Hoovada trên Facebook. Những câu hỏi hay khác trên Hoovada:
Nguồn: viblo.asia