2.1. Tổng quan về mô hình MVC
2.1.1. Khái niệm
Mô hình MVC là mô hình quen thuộc trong giới lập trình web là viết tắt của Model — View — Controller, hệ thống sẽ được tô chức tách biệt dé hoạt động độc lập dé dang test và tô chức hơn
Controller
Renders
Send request
Displays
Triggers behaviour
2.1.2. Cấu trúc mô hình MVC
2.1.2.1. Tang xử lý— Controller
Tầng xử lý là bộ phận có nhiệm vụ xử lý các yêu cầu về mặt logic dựa vào thông tin của người dùng đưa đã cung cấp thông qua view. Controller
sau khi xử ly xong sẽ đưa ra dữ liệu phù hợp với người dùng. Controller
còn có chức năng kết nối với Model.
2.1.2.2. Tang logic dữ liệu — Model
Tang logic dit liệu - Model là bộ phận có chức năng lưu trữ toàn bộ
dữ liệu của một lớp trong ứng dụng. Model là cầu nối giữ Controller và View . Model thé hiện dưới hình thức là một cơ sở dữ liệu hoặc một file XML bình thường. Model thé hiện rõ các thao tác với cơ sở đữ liệu như cho phép xem, truy xuất, xử ly dữ liệu....
2.1.2.3. Tang giao diện — View
Tầng giao diện - View là phần giao diện dành cho người sử dụng cuối. Noi mà lập trình viên có thé lay được thông tin dữ liệu thông qua các các biểu mẫu (form) hoặc hiền thị giao diện cho người dùng trên website
2.1.3. Tại sao dùng mô hình MVC
MVC đang là mô hình được ứng dụng rất nhiều trong lập trình.
Hệ thống MVC phát triển tốt sẽ cho phép phát triển Front-End, Back-End cùng trên hệ thống một cách độc lập với nhau tức những tài nguyên và cách tô chức mã nguồn có thé khác nhau và không sử dung chung những thành phan
đó.
Chi cần hiểu rõ quy trình vận hành, nam được các chức năng của từng bộ phận thì việc trién khai mô hình MVC tương đối dé dàng.
Mô hình MVC có ưu điểm với sự phát triển của ứng dụng như:
- Taco thé dé dang duy trì ứng dụng vì chúng được tách biệt với nhau.
- Dau tiên, nhắc tới ưu điểm mô hình MVC thì đó là băng thông
(Bandwidth) nhẹ vì không sử dụng viewstate nên khá tiết kiệm băng thông. Việc giảm băng thông giúp website hoạt động ồn địng hơn.
- _ Kiểm tra đơn giản và dé dàng, kiểm tra lỗi phần mềm trước khi ban
giao lại cho người dùng.
- Một lợi thế chính của MVC là nó tách biệt các phần Model, Controller
và View với nhau.
- Su dụng mô hình MVC chức năng controller có vai trò quan trọng va
tối ưu trên các nền tảng ngôn ngữ khác nhau
- Taco thể dé dàng duy trì ứng dụng vì chúng được tách biệt với nhau.
2.2. Tong quan về ReactJS
2.2.1. Giới thiệu
React (Reactjs hay React.js) là một thư viện JavaScript phố biến nhất dé xây dựng giao diện người dùng hoặc các thành phần UI. Được tạo ra bởi sự
cộng tác giữa Facebook và Instagram. Nó được duy trì bởi Facebook và một
cộng đồng các nhà phát triển và công ty cá nhân. React có thể được sử dụng như một cơ sở đề phát triển các ứng dụng trang đơn hoặc di động. Một trong những đặc trưng duy nhất của React là việc render dit liệu không những có thé thực hiện ở tầng Server mà còn ở tầng Client.
2.2.2. Uu nhược điểm của Reactjs
2.1.3.1. Ưu điểm
Dễ dàng sử dụng, tạo được các component nhẹ: React Component
dễ viết hơn vì nó sử dụng JSX, mở rộng cú pháp tùy chọn cho JavaScript cho phép một lập trình viên có thé kết hop HTML với JavaScript. Nhờ vào những tính năng có sẵn của Reactjs, lập trình viên có thé phân tích và
tạo ra những component nhỏ
Cộng đồng phát triển lớn mạnh: React rat phổ biến, minh chứng rõ
ràng bởi cộng đông hồ trợ lớn của nó.
2.3.
Nhiều tiện ích nguồn mở: Tính khả dụng của một loạt các tiện ích
mở rộng do cộng đồng nguồn mở phát triển cho React cung cấp cho lập trình viên rất nhiều tùy chọn dé xây dựng các giải pháp hoàn chỉnh.
Thân thiện với SEO: Hau như các JS Frameworks không thân thiện với các tìm kiếm mặc dù đã được cải thiện nhiều nhưng dưới sự hỗ trợ của các render đữ liệu trả về dưới dạng web page giúp cho SEO chuẩn hơn.
2.1.3.2. Nhược điểm
Vì Reactjs chỉ là View Library nên nó cần phải kết hợp với các framework khác dé xây dựng được một ứng dụng hoàn chỉnh.
Reactjs dung lượng khá lớn so với các framework khác.