MỤC LỤC
React-Redux là một thư viện JavaScript dùng để quản lý trạng thái (state) cho các ứng dụng React. Thư viện này giúp các ứng dụng React của bạn hoạt động hiệu quả hơn bằng cách tách biệt các thành phần UI và logic xử lý dữ liệu. React-Redux sử dụng mô hình Flux để quản lý trạng thái của ứng dụng.
Sử dụng React-Redux giúp cho việc quản lý trạng thái trong ứng dụng React dễ dàng hơn, và giỳp tỏch biệt phần UI và logic xử lý dữ liệu một cỏch rừ ràng hơn, giúp cho ứng dụng của bạn dễ dàng bảo trì và mở rộng.
ReactJS có hiệu suất nhanh và khả năng tự cập nhật tốt, giúp cho ứng dụng chạy mượt mà hơn. ReactJS cung cấp cách tiếp cận component-based development, giúp bạn tập trung xây dựng thành phần cụ thể và quản lý chúng dễ dàng hơn. ReactJS có thể tái sử dụng thành phần được phát triển cho các dự án khác nhau, giúp tiết kiệm thời gian phát triển và giảm chi phí.
ReactJS đòi hỏi bạn phải học JSX, một cú pháp mới và khá khó học đối với một số người mới học ReactJS. Một số nhà phát triển cho rằng ReactJS khó thực hiện với các ứng dụng lớn, vì nó có thể trở nên phức tạp và khó bảo trì trong quá trình phát triển. React-Router-DOM giúp xây dựng ứng dụng đơn trang (single-page application) dễ dàng và một cách tự nhiên.
React-Router-DOM có nhiều tính năng hỗ trợ khác nhau, cho phép bạn tăng cường trải nghiệm người dùng và đầy đủ hơn. React-Router-DOM có thể trở nên khó khăn nếu bạn không quản lý quá nhiều Route, có thể dẫn đến bug hoặc khó khăn trong việc bảo trì kéo dài. Việc tạo và xử lý URL của React-Router-DOM là trọng tâm của việc phát triển của một ứng dụng, do đó sẽ có một số khó khăn về cấu trúc và bảo trì.
React-Redux giúp quản lý state của ứng dụng dễ dàng hơn, đảm bảo tính nhất quán trong toàn bộ ứng dụng. React-Redux giúp bạn tổ chức và quản lý code một cách tốt hơn, giúp bạn tập trung vào việc lập trình trực tiếp hơn là lo lắng về data. React-Redux là một thư viện phổ biến trong cộng đồng React, cung cấp cho bạn nhiều tài liệu và hỗ trợ.
Thể hiện bằng cách bọc trong Wrapper Component gây ra độ phức tạp không cần thiết, làm cho một số người mới học Redux cảm thấy khó khăn hơn. Với các ứng dụng đơn giản, React-Redux có thể làm cho code của bạn trở nên phức tạp hơn đối với các tính năng nhỏ.
CDN chính là cụm từ viết tắt của Content Delivery Network chính là một mạng lưới máy chủ giúp lưu giữ lại các bản sao của các nội dung tĩnh, Những nội dung tĩnh này nằm ở bên trong website và trực tiếp phân phối đến các máy chủ PoP khác. Đồng thời, người cùng cũng có thể sử dụng nền tảng này trong quá trình phát triển ứng dụng một cách đơn giản nhất. Tốc độ phát triển nhanh: Ưu điểm tiếp theo chính là Firebase hỗ trợ cho việc phát triển ứng dụng rất nhanh chóng.
Giao diện người dùng được chú trọng: Firebase sẽ cho phép các lập trình viên tập trung hơn vào việc phát triển giao diện của người dùng thông qua kho Backend mẫu vô cùng đa dạng. Firebase app không có máy chủ: Chính điều này sẽ giúp cho Firebase có được khả năng tối ưu hóa nhất về hiệu suất làm việc nhờ vào việc mở rộng cụm database. Học máy: Ứng dụng Firebase sẽ cung cấp học máy cho các lập trình viên để hỗ trợ tốt nhất cho việc phát triển ứng dụng.
Firebase không là mã nguồn mở: Điều này sẽ giúp cho ứng dụng trở thành một lựa chọn không quá tối ưu đối với nhiều nhà phát triển. Người dùng không truy cập được mã nguồn: Đối với những ứng dụng lớn thì việc chuyển đổi sang các nhà cung cấp khác thực sự không dễ dàng. Trang web chính thức của Firebase hiện tại đang bị chặn ở nhiều quốc gia trên thế giới, trong đó có cả Trung Quốc.
Firebase chỉ chạy trên Google Cloud: Firebase trở thành một phần của Google và tất cả cơ sở hạ tầng của ứng dụng đều hoạt động trên Google Cloud. Truy vấn khám chậm: Không phải các cơ sở dữ liệu đều phù hợp cho mọi trường hợp và tất nhiên Cloud Firestore cũng không là ngoại lệ. Các chức năng trên đám mây sẽ chỉ có thể khả dụng trên gói Blaze và dĩ nhiên người dùng cũng không thể sử dụng được các dịch vụ ở trong gói Spark.
Giá sử dụng dịch vụ Firebase khá cao: Firebase sẽ cung cấp cho người dùng rất nhiều tính năng hữu ích nhưng giá thành của chúng cũng cao hơn so với nhà cung cấp IaaS thuần túy. Không cung cấp API GraphQL: Ứng dụng không cung cấp API GraphQL tương tự như một phần của quá trình thiết lập tiêu chuẩn.
Ý kiến của bạn rất quan trọng đối với chúng tôi để cải thiện trải nghiệm của khách hàng trên trang web của chúng tôi. Hệ thống lấy thông tin chi tiết của đơn hàng gồm: mã đơn hàng, ngày đặt hàng, tổng tiền, trạng thái đơn hàng từ bảng ORDERS trong cơ sở dữ liệu và hiển thị danh sách các đơn hàng lên màn hình. Hệ thống sẽ lấy thông tin cũ của đơn hàng được chọn gồm: mã đơn hàng, tổng tiền, trạng thái đơn hàng, địa chỉ từ bảng ORDERS và hiển thị lên màn hình.
Tại bất k¤ thời điểm nào trong quá trình thực hiện use case nếu không kết nối được với cơ sử dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc. ReactJS là một thư viện JavaScript được sử dụng để xây dựng giao diện người dùng (User Interface - UI) cho các ứng dụng web. ReactJS sử dụng một khái niệm gọi là "virtual DOM" (Document Object Model - Mô hình đối tượng tài liệu) để tối ưu hóa hiệu suất và đáp ứng nhanh hơn cho các ứng dụng web.
Khi trạng thái của ứng dụng thay đổi, ReactJS sẽ tạo ra một bản sao của trang web gốc và so sánh nó với bản cập nhật mới nhất. ReactJS cũng sử dụng một cấu trúc gọi là "component" (thành phần) để tách biệt các phần của ứng dụng web. Các thành phần này có thể được tái sử dụng trong nhiều ứng dụng khác nhau, giúp tiết kiệm thời gian và nỗ lực trong quá trình phát triển ứng dụng.
Để sử dụng ReactJS, bạn cần cài đặt các gói phụ thuộc và sử dụng trình biên dịch (compiler) như Babel để biên dịch mã JavaScript của bạn. Sau đó, bạn có thể sử dụng các thành phần và thư viện của ReactJS để xây dựng giao diện người dùng cho ứng dụng web của mình. Qua bài tập lớn đã giúp sinh viên có cái nhìn tổng thể hơn về một dự án hoàn chỉnh và những kĩ năng như làm việc nhóm, kĩ năng đọc hiểu document để sử dụng các công nghệ mới nhất.
Đến đây cũng đã kết thúc bài báo cáo bài tập lớn của nhóm về đề tài " Sử dụng Framework ReactJS kết hợp Fisebase xây dựng website thương mại điện tử EShop" với sự đóng góp của các thành viên trong nhóm thực hiện. Nhìn lại quá trình thực hiện bài báo cáo này, nhóm thấy được những điểm mạnh và điểm yếu còn vướng mắc về kiến thức cũng như kỹ năng trình bày và tìm hiểu các tài liệu liên quan. Để rút kinh nghiệm cho những lần thực hiện sau và cải thiện chất lượng của bài báo cáo sau sửa đổi, nhóm đi đến vạch ra những ưu nhược điểm của cá nhân cũng như tập thể nhóm thực hiện đề tài về những gì nhóm làm, những gì nhóm đã đạt được, những gì còn thiếu sót và định hướng sẽ thực hiện trong tương lai.
Tuy có những đóng góp tích cực nhằm hoàn thiện báo cáo, tuy nhiên không thể tránh khỏi những thiếu sót, hạn chế. Bởi các thành viên nhóm còn đang là sinh viên, không đủ nguồn lực để xây dựng một bộ dữ liệu hoàn chỉnh, đảm bảo chất lượng. Cuối cùng với những đóng góp, cố gắng để hoàn thiện báo cáo, nhóm rất mong được sự góp ý chân thành, quý báu từ quý thầy cô và các bạn đọc.