4 Phương pháp lập trình Front end hiện nay

Ngày đăng: 17/05/2021   -    Cập nhật: 17/05/2021
Lập trình Front end đang là một trong những lĩnh vực đang thay đổi nhanh chóng với cộng đồng ngày càng tăng và yêu cầu phát triển nhanh hơn.


Nhiều thư viện và framework đã ra đời hỗ trợ các lập trình viên phát triển bắt đầu từ jquery đến react, angular, ... và bây giờ có bao nhiêu thư viện Front end hay ho mình cũng chẳng thể đếm được nữa.


Mỗi công nghệ, khái niệm, thư viện và framework đều có ưu và nhược điểm riêng. Nhưng nó đều phục vụ được một nhóm nhu cầu khác nhau.


Trong bài viết này, mình sẽ thảo luận về 4 Phương pháp lập trình Front end khác nhau để bạn hình dung concept cơ bản và biết được ưu nhược điểm của chúng.



Phương pháp lập trình Front end hiện nay


#1. Front end truyền thống



Front end truyền thống là dạng thô của các trang web mà chúng ta xây dựng bằng cách sử dụng HTML, CSS, JavaScript. Chúng được gửi trực tiếp từ máy chủ web hoặc CDN.


Phương pháp lập trình Front end truyền thống


Ưu điểm:


  • Nó rất dễ dàng để bắt đầu học tập.
  • Nói chung, không quá phức tạp để hiểu.
  • Tối ưu hóa SEO tốt.


Nhược điểm:


  • Tính module hóa thấp
  • Khó cập nhật / bảo trì các trang vì chúng ta cần viết lại rất nhiều code giống nhau cho mỗi trang.
  • Request mới đến máy chủ cho mọi trang.
  • Nói chung, Front end truyền thống không chứa dữ liệu động


> Note: Nếu bạn chưa biết: SEO là phương pháp tối ưu hóa công cụ tìm kiếm để nhằm có thứ hạng cao hơn trên các kết quả tìm kiếm. Từ đó mang lại lượng truy cập nhiều hơn, tiếp cận tốt hơn đến các khách hàng tiềm năng.


> Lưu ý: Đây là phương pháp đầu tiên mà người mới học lập trình web phải học trước. Các phương pháp tiếp theo là phương pháp cải tiến hơn.


#2: Client-Side Rendering



Có thể bạn đã nghe thuật ngữ này nhiều lần, nó còn được gọi ngắn gọn là CSR. Vậy điều gì xảy ra trong Client-Side Rendering?


Khi chúng ta xây dựng một trang web bằng React, Angular hoặc Vue, nó sẽ tạo ra một SPA (Single Page Application - Ứng dụng trang đơn). Trước đó, không có bất kỳ trang HTML nào được kết xuất trước.


Khi trình duyệt gửi request đến máy chủ web, request ban đầu dành cho một trang HTML trống và sau đó nó tìm nạp các tập lệnh JS thao tác với DOM và hiển thị các trang.


Định tuyến, xử lý dữ liệu, v.v., cũng được thực hiện trong chính trình duyệt.



Phương pháp lập trình Front end: Client-side Rendering


Ưu điểm:


  • Dễ dàng duy trì codebase.
  • Cách tiếp cận module.
  • Nó nhanh ngoại trừ yêu cầu ban đầu.


Ưu điểm:


  • Nó không thân thiện với SEO.
  • Nó có thể trở nên phức tạp.


React.js, Angular, Vue có thể được sử dụng để xây dựng các SPA.


Đây là phương pháp mà các website TMĐT hay các mạng xã hội thường sử dụng để tạo ra các giao diện phức tạp, module hóa, dễ bảo trì, mở rộng.


> Tham gia HỌC FRONT END ngay để nắm giữ phương pháp lập trình front end hiện đại này.



#3: Server-Side Rendering



Trong Server-Side Rendering, các trang được hiển thị trên máy chủ theo mọi request. Máy chủ tổng hợp dữ liệu từ nguồn của nó giống như một cơ sở dữ liệu và đưa nó vào các mẫu để hiển thị các trang HTML được yêu cầu.


Và các trang được kết xuất sau đó được gửi trở lại trình duyệt, để hiển thị cho người dùng.



Phương pháp lập trình Front end: Server-side Rendering


Ưu điểm:


  • Dễ dàng duy trì codebase.
  • Cách tiếp cận mô-đun.
  • Thân thiện với SEO.

 


Nhược điểm:

 

  • Độ trễ mạng có thể ảnh hưởng.
  • Yêu cầu mới cho mọi trang.




Next.js cho React và Nuxt.js cho Vue có thể được sử dụng cho Server-Side Rendering.


Tuy nhiên....


Có một cách tiếp cận kết hợp để có được lợi ích của cả CSR và SSR đó là...


 

#4: Static-Site Generator



Trong Static-Site Generator, các trang tĩnh được biên dịch tại build-time, tức là trước khi triển khai với một số dữ liệu ban đầu.


Các trang tĩnh sau đó được triển khai đến một máy chủ web. Sau yêu cầu ban đầu, trang web hoạt động giống như Single-Page Application.


 

Phương pháp lập trình Front end: Static-side Generator

 



Ưu điểm:

 

  • Dễ dàng duy trì codebase.
  • Cách tiếp cận mô-đun.
  • Thân thiện với SEO.




Nhược điểm:


 

  • Nó khá phức tạp.




Gatsby.js với React có thể được sử dụng cho Static-Site Generator

 

Tổng kết



Theo mình, Client-Side Rendering phù hợp với các ứng dụng mà người dùng sẽ ở lại lâu hơn và sẽ tương tác thường xuyên và muốn có trải nghiệm người dùng tương tự như ứng dụng trên máy tính.


Còn phương pháp lập trình Front end truyền thống thì rất phù hợp với các trang web giới thiệu doanh nghiệp, tin tức bình thường.


Nói chung, việc lựa chọn phương pháp nào còn phụ thuộc rất nhiều yếu tố chứ không phải chỉ là về công nghệ.


Nó phụ thuộc vào yêu cầu của ứng dụng, chiến lược phát triển, ngân sách, trình độ....



---

HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0383.180086
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #icthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python
Bình luận Facebook
Khóa học liên quan đến bài viết

KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS

56 giờ
Học Lập trình Front end hiện đại với ReactJS. Học làm chủ HTML, CSS, JS và thư viện JavaScript phổ biến nhất hiện nay. Sẵn sàng đi thực tập / đi làm ngay sau khóa học.

Khóa học PHP Full stack [2023] cho người mới bắt đầu

96 giờ
Khóa học Lập trình PHP Full stack, phiên bản cập nhật lần thứ 8. Dạy Lập trình PHP bài bản từ Front end đến Back end + Laravel. Hướng dẫn làm 2 Dự Án Web lớn

KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG

50 giờ
Khóa học giúp học viên sử dụng thành thạo ngôn ngữ Lập trình Python (3x). Hiểu và phát triển được Ứng dụng Web với Django Framework. Học thực hành với Giảng viên cao cấp.

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!