CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.NET Core là môi trường thực thi, mục đích chính của .NET Core là hỗ trợ phát triển ứng dụng đa nền tảng. Nó được hỗ trợ trên Windows, macOS, Linux x64, x86, ARM32 và ARM64. Frameworks và APIs được cung cấp cho Cloud, IoT, client UI và Machine Learning. Lịch sử phát triển [2] .0, được công bố vào ngày 12 tháng 11 năm 2014, được phát hành vào ngày 27 tháng 6 năm 2016, cùng với Microsoft Visual Studio 2015 Update 3, cho phép phát triển .1 đã được phát hành cùng với .NET Core Tools 1.0 và Visual Studio 2017 vào ngày 7 tháng 3 năm 2017.0 được phát hành vào ngày 14 tháng 8 năm 2017, cùng với Visual Studio 2017, ASP.0 và Entity Framework Core 2.1 được phát hành vào ngày 30 tháng 5 năm 2018.2 được phát hành vào ngày 4 tháng 12 năm 2018.NET Core 3 đã được công bố vào ngày 7 tháng 5 năm 2019, tại Microsoft Build.0 được phát hành ngày 23 tháng 9 năm 2019.NET Core 3, framework hỗ trợ phát triển phần mềm ứng dụng máy tính để bàn , trí tuệ nhân tạo hay máy học và ứng dụng IoT 1.
Đặc điểm của .NET Core [3] - Đa nền tảng: Chạy trên các hệ điều hành Windows, macOS và Linux. - Nguồn mở: Khung .NET Core là nguồn mở , sử dụng giấy phép MIT và Apache 2.NET Core là một dự án. - Hiện đại: Nó thực hiện các mô hình hiện đại như lập trình không đồng bộ, các mẫu không sao chép bằng cách sử dụng các cấu trúc và quản trị tài nguyên cho các container. 3 do an - Hiệu suất: Cung cấp hiệu suất cao với các tính năng như hardware intrinsics (nội tại phần cứng), tiered compilation (biên dịch theo tầng) và Span <T>.
- Phù hợp giữa các môi trường: Chạy mã của bạn với cùng một hành vi trên nhiều hệ điều hành và kiến trúc, bao gồm x64, x86 và ARM. - Công cụ Command-line: Bao gồm công cụ Command-line dễ sử dụng có thể được sử dụng để phát triển cục bộ và tích hợp liên tục. - Triển khai linh hoạt: Bạn có thể bao gồm .NET Core trong ứng dụng của mình hoặc cài đặt song song (cài đặt toàn người dùng hoặc toàn hệ thống). Có thể được sử dụng với Docker containers.NET Core là đa nền tảng.NET Core là mã nguồn mở.
- Là ngôn ngữ lập trình được sử dụng rộng rãi.NET Core hỗ trợ nhiều loại ứng dụng như Desktop, Web, Cloud, Mobile, Gaming, IoT, AI. - Tăng cường bảo mật với .NET Core cho phép hiệu suất ứng dụng hàng đầu.NET Core cho phép linh hoạt.NET Core có hiệu quả về chi phi.NET Core có cộng đồng lớn.NET Core được tạo bởi Microsoft 1. Tìm hiểu về ReactJS 1. Khái niệm [5] ReactJS là một thư viện JavaScript mã nguồn mở để xây dựng giao diện người dùng.
Nó được duy trì bởi Facebook và một cộng đồng gồm các nhà phát triển và công ty cá nhân. ReactJS có thể được sử dụng làm cơ sở trong việc phát triển các ứng dụng single-page hoặc các ứng dụng di động. Tuy nhiên, React chỉ quan tâm đến việc hiển thị dữ liệu cho DOM (Document Object Model), và vì vậy tạo các ứng dụng React thường yêu cầu sử dụng 4 do an các thư viện bổ sung để quản lý trạng thái và định tuyến. Redux và React Router là những ví dụ tương ứng của các thư viện đó.
Lịch sử phát triển [5] React được tạo ra bởi Jordan Walke, một kỹ sư phần mềm tại Facebook, người đã phát hành một nguyên mẫu ban đầu của React có tên là "FaxJS". Ông chịu ảnh hưởng của XHP , một thư viện thành phần HTML cho PHP. Nó được triển khai lần đầu tiên trên Facebook's News Feed vào năm 2011 và sau đó trên Instagram vào năm 2012. Nó đã là mã nguồn mở tại JSConf US vào tháng 5 năm 2013.
Vào ngày 18 tháng 4 năm 2017, Facebook đã công bố React Fiber, một thuật toán cốt lõi mới của thư viện React để xây dựng giao diện người dùng. React Fiber đã trở thành nền tảng của bất kỳ cải tiến và phát triển tính năng nào trong tương lai của thư viện React. Vào ngày 26 tháng 9 năm 2017, React 16.0 đã được phát hành ra công chúng. Vào ngày 16 tháng 2 năm 2019, React 16.8 đã được phát hành ra công chúng.
Bản phát hành đã giới thiệu React Hook. Đặc điểm của ReactJS [6] Hiện tại, ReactJS đạt được sự phổ biến nhanh chóng như là khung JavaScript tốt nhất trong số các nhà phát triển web. Nó đang đóng một vai trò thiết yếu trong hệ sinh thái front- end. Các tính năng quan trọng của ReactJS như sau: - JXS: JSX là viết tắt của JavaScript XML.
Nó là một phần mở rộng cú pháp JavaScript. Đây là một cú pháp giống như XML hoặc HTML được sử dụng bởi ReactJS. Cú pháp này được xử lý thành các lệnh gọi JavaScript của React Framework. Nó mở rộng ES6 để HTML giống như văn bản có thể cùng tồn tại với mã phản ứng JavaScript.
Không cần thiết phải sử dụng JSX, nhưng nên sử dụng trong ReactJS. - Components (các thành phần): ReactJS là tất cả về các component. Ứng dụng ReactJS được tạo thành từ nhiều component và mỗi component có logic và điều khiển riêng. Những component này có thể được sử dụng lại giúp bạn duy trì mã khi làm việc trên các dự án quy mô lớn hơn.
5 do an - Ràng buộc dữ liệu một chiều: ReactJS được thiết kế theo cách tuân theo luồng dữ liệu đơn hướng hoặc ràng buộc dữ liệu một chiều. Lợi ích của liên kết dữ liệu một chiều giúp bạn kiểm soát tốt hơn trong suốt ứng dụng. Nếu luồng dữ liệu theo hướng khác, thì nó yêu cầu các tính năng bổ sung. Đó là bởi vì các thành phần được cho là bất biến và dữ liệu trong chúng không thể thay đổi.
Flux là một mẫu giúp giữ cho dữ liệu của bạn một chiều. Điều này làm cho ứng dụng linh hoạt hơn dẫn đến tăng hiệu quả. - DOM ảo: Một đối tượng DOM ảo là một đại diện của đối tượng DOM gốc. Nó hoạt động như một ràng buộc dữ liệu một chiều.
Bất cứ khi nào có bất kỳ sửa đổi nào xảy ra trong ứng dụng web, toàn bộ giao diện người dùng sẽ được kết xuất lại trong biểu diễn DOM ảo. Sau đó, nó kiểm tra sự khác biệt giữa đại diện DOM trước đó và DOM mới. Khi đã xong, DOM thực sẽ chỉ cập nhật những thứ đã thực sự thay đổi. Điều này làm cho ứng dụng nhanh hơn và không lãng phí bộ nhớ.
- Sự đơn giản: ReactJS sử dụng tệp JSX giúp ứng dụng đơn giản và mã hóa cũng như dễ hiểu. ReactJS là một cách tiếp cận dựa trên các component, giúp mã có thể được sử dụng lại theo nhu cầu của bạn. Điều này làm cho nó đơn giản để sử dụng và học hỏi. - Hiệu suất: ReactJS được biết đến là một hiệu suất tuyệt vời.
Tính năng này của ReactJS tốt hơn nhiều so với các Framework khác hiện nay. Lý do đằng sau điều này là nó quản lý một DOM ảo. DOM là API đa nền tảng và lập trình, liên quan đến HTML, XML hoặc XHTML. DOM tồn tại hoàn toàn trong bộ nhớ.
Do đó, khi chúng ta tạo Component, chúng ta đã không ghi trực tiếp vào DOM. Thay vào đó, chúng ta viết Components ảo sẽ biến thành DOM dẫn đến hiệu suất mượt mà và nhanh hơn. Ưu điểm của ReactJS [7] - Nó tạo điều kiện cho quá trình viết các Component. - Nó tăng năng suất và tạo điều kiện bảo trì hơn.
- Nó đảm bảo kết xuất nhanh hơn. - Nó đảm bảo mã ổn định - Nó rất thân thiện với SEO 6 do an - Nó đi kèm với một bộ công cụ phát triển hữu ích (React Developer Tools). - Có React Native để phát triển ứng dụng di động. - Nó tập trung và dễ học.
- Nó được hỗ trợ bởi một cộng đồng mạnh mẽ. - Nó thường được sử dụng bởi cả công ty Fortune và các công ty khởi nghiệp sáng tạo. 7 do an CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG 2. Khảo sát hiện trạng Qua khảo sát hiện trạng về nhu cầu mua sắm, khách hàng thích mua hàng trực tuyến hơn là tới tận nơi để mua vì việc này tốn rất nhiều thời gian và chi phí.
Ngoài ra, khi đến một cửa hàng cố định, các sản phẩm bị giới hạn và khách hàng khó có thể tìm được sản phẩm mình thích nhất. Dựa trên hiện trạng đã được khảo sát và sự phát triển mạnh mẽ của công nghệ hiện nay, chúng em đã quyết định ứng dụng công nghệ vào trong việc giúp đỡ người tiêu dùng bằng cách xây dựng một website bán hàng có thể đáp ứng được các nhu cầu trên và vẫn đảm bảo tốc độ xử lý nhanh và chính xác. Nhằm mang đến cho khách hàng nhiều sự lựa chọn nhất giúp tối ưu trong quá trình mua sắm, có được sự trải nghiệm mới lạ và tiết kiệm chi phí. Khảo sát các website liên quan 2.
Khảo sát trang https://shopee. Hình ảnh minh họa website shopee.vn 8 do an Ưu điểm: - Giao diện tổng quan đẹp, màu sắc hài hòa. - Có gợi ý tìm kiếm nhanh sản phẩm trên thanh tìm kiếm. - Trong từng danh mục mặt hàng, có thể tìm kiếm mặt hàng theo chuyên mục, nơi bán, đánh giá, dịch vụ khuyến mãi hay khoảng giá sản phẩm cần tìm kiếm.
- Ngoài ra các sản phẩm trong từng danh mục được sắp xếp theo như hàng phổ biến, mới nhất, bán chạy hay giá cả để người dùng dễ dàng chọn sản phẩm mong muốn. - Có thông tin chi tiết sản phẩm và mô tả sản phẩm rõ ràng, đầy đủ giúp người dùng hiểu rõ hơn về sản phẩm đó. - Có chức năng bình luận đánh giá tạo độ tin cậy hơn cho người dùng. Nhược điểm: - Chưa có nút trở lên đầu trang.
- Danh mục nên để trên navbar để dễ dàng tìm kiếm. Khảo sát trang https://www. Hình ảnh minh họa website nguyenkim.com 9 do an Ưu điểm: - Giao diện thân thiện với người dùng, đẹp, dễ dàng nhìn thấy danh mục sản phẩm khi vừa truy cập vào trang web. - Có gợi ý tìm kiếm nhanh sản phẩm trên thanh tìm kiếm.
- Trên mỗi danh mục sản phẩm dễ dàng tìm kiếm sản phẩm theo thương hiệu hay giá cả. - Ngoài ra các sản phẩm trong từng danh mục được sắp xếp theo như hàng phổ biến, mới nhất, bán chạy hay giá cả để người dùng dễ dàng chọn sản phẩm mong muốn. - Trên chi tiết sản phẩm có đề xuất các sản phẩm tương tự giúp người dùng có thể tìm ngay sản phẩm tương tự thay vì phải thao tác lại từ ban đầu. - Có chức năng bình luận đánh giá tạo độ tin cậy hơn cho người dùng.