1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống thương mại điện tử

89 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng hệ thống thương mại điện tử
Tác giả Lương Văn Ý
Người hướng dẫn ThS. Lê Thị Bảo Yến
Trường học Đại học Đà Nẵng, Phân hiệu tại Kon Tum
Chuyên ngành Thương mại điện tử
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Kon Tum
Định dạng
Số trang 89
Dung lượng 1,83 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1. MỞ ĐẦU (11)
    • 1.1. TỔNG QUAN ĐỀ TÀI (11)
    • 1.2. LÝ DO CHỌN ĐỀ TÀI (12)
    • 1.3. MỤC TIÊU ĐỀ TÀI (12)
    • 1.4. PHƯƠNG PHÁP NGHIÊN CỨU (12)
    • 1.5. PHẠM VI ĐỀ TÀI (12)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (13)
    • 2.1. KIẾN TRÚC HỆ THỐNG (13)
    • 2.2. MÔ HÌNH THƯƠNG MẠI ĐIỆN TỬ (14)
      • 2.2.1. Mô hình Business-To-Business (B2B) (14)
      • 2.2.2. Mô hình Business-To-Consumer (B2C) (14)
      • 2.2.3. Mô hình Consumer-To-Consumer (C2C) (14)
      • 2.2.4. Mô hình Consumer-To-Business (C2B) (14)
      • 2.2.5. Mô hình Business-To-Government (B2G) (15)
      • 2.2.6. Mô hình Consumer-TO-Government (C2G) (15)
      • 2.2.7. Mô hình được sử dụng trong đồ án (15)
    • 2.3. MÔ HÌNH CLIENT–SERVER (15)
      • 2.3.1. Khái niệm (15)
      • 2.3.2. Client (16)
      • 2.3.3. Server (16)
      • 2.3.4. Nguyên tắc hoạt động (17)
    • 2.4. TRÍ TUỆ NHÂN TẠO (17)
      • 2.4.1. Khái quát (17)
      • 2.4.2. Nhận diện vật thể (18)
      • 2.4.3. Nhận diện giọng nói (18)
    • 2.5. NODE.JS (18)
      • 2.5.1. Tổng quan (18)
      • 2.5.2. Lý do chọn Node.JS (18)
    • 2.6. FLUTTER (19)
      • 2.6.1. Tổng quan (19)
      • 2.6.2. Kiến trúc của Flutter (19)
      • 2.6.3. Lý do chọn Flutter (20)
    • 2.7. NGÔN NGỮ DART (20)
      • 2.7.1. Tổng quan (20)
      • 2.7.2. Lý do chọn Dart (21)
      • 2.7.3. Cú pháp cơ bản (21)
    • 2.8. CÔNG CỤ SỬ DỤNG (24)
      • 2.8.1. Visual Studio Code (24)
      • 2.8.2. Postman (26)
      • 2.8.3. Figma (26)
      • 2.8.4. Một số công cụ khác (27)
  • CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ (28)
    • 3.1. TÁC NHÂN HỆ THỐNG (28)
    • 3.2. YÊU CẦU CHỨC NĂNG (28)
      • 3.2.1. Người mua hàng (28)
      • 3.2.2. Người bán hàng (29)
      • 3.2.3. Admin (31)
      • 3.2.4. Cá nhân hóa (31)
      • 3.2.5. Phi chức năng (31)
      • 3.2.6. Các tính năng khác (32)
    • 3.3. GIẢI PHÁP (33)
    • 3.4. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG (33)
      • 3.4.1. Sơ đồ Use-Case (33)
      • 3.4.2. Đặc tả Use-Case (36)
      • 3.4.3. Sơ đồ tuần tự (60)
      • 3.4.4. Lược đồ cơ sở dữ liệu (70)
  • CHƯƠNG 4. DEMO ỨNG DỤNG (77)
    • 4.1. GIAO DIỆN CHÀO MỪNG (77)
    • 4.2. CHỨC NĂNG ĐĂNG NHẬP, ĐĂNG KÝ, MẬT KHẨU (77)
    • 4.3. GIAO DIỆN TRANG CHỦ (79)
    • 4.4. CHỨC NĂNG XEM SẢN PHẨM (80)
    • 4.5. GIAO DIỆN CHỨC NĂNG GIỎ HÀNG (80)
    • 4.6. GIAO DIỆN CHỨC NĂNG ĐẶT HÀNG (81)
    • 4.7. CHỨC NĂNG XEM THÔNG BÁO, THEO DÕI ĐƠN HÀNG, NHẮN TIN (82)
    • 4.8. GIAO DIỆN TÍNH NĂNG TÌM KIẾM SẢN PHẨM (82)
    • 4.9. GIAO DIỆN CHỨC NĂNG SẢN PHẨM ƯA THÍCH (83)
    • 4.10. GIAO DIỆN TÍNH NĂNG NGƯỜI DÙNG (PROFILE) (83)
    • 4.11. GIAO DIỆN TÍNH NĂNG PHÂN QUYỀN (84)
    • 4.12. GIAO DIỆN TÍNH NĂNG QUẢN LÝ CỦA ADMIN (85)
  • CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (87)
    • 5.1. KẾT LUẬN (87)
      • 5.1.1. Kết quả đạt được (87)
      • 5.1.2. Hạn chế (87)
    • 5.2. HƯỚNG PHÁT TRIỂN (87)

Nội dung

CƠ SỞ LÝ THUYẾT

KIẾN TRÚC HỆ THỐNG

Hình 2.1: Sơ đồ kiến trúc hệ thống

Hệ thống sẽ dựa trên mô hình Client-Server Trong đó:

Phía người dùng (Client Side) là nơi nhận dữ liệu và hiển thị cho người dùng, được xây dựng theo kiến trúc sạch (Clean Architecture) Model đóng vai trò thiết kế dữ liệu, định dạng dữ liệu sẽ sử dụng trong ứng dụng; khi dữ liệu được gửi từ server về, nó sẽ được chuyển đổi thành kiểu Model phù hợp Controller đảm nhận vai trò tiếp nhận và xử lý dữ liệu, thực hiện các yêu cầu từ người dùng Bloc quản lý các trạng thái (states), giúp Flutter cập nhật lại các Widget để hiển thị dữ liệu một cách hiệu quả; mỗi trang và Widget có các trạng thái khác nhau, do đó Bloc giúp quản lý một cách thống nhất các trạng thái này Cuối cùng, UI Widget tượng trưng cho giao diện người dùng, là thành phần trực tiếp tiếp xúc và tương tác với người dùng.

Server Side là thành phần thực hiện các yêu cầu từ người dùng, đóng vai trò quan trọng trong xử lý dữ liệu và quản lý toàn hệ thống Hệ thống server được chia thành hai phần chính: Server Main, chủ yếu sử dụng Node.js và Express.js để đảm nhận chức năng chính của ứng dụng, và Server Chat, sử dụng Socket.IO để quản lý hoạt động trò chuyện và duy trì sự đồng bộ trong quá trình chat.

- Cơ sở dữ liệu được sử dụng là MongoDB với vai trò lưu trữ tất cả dữ liệu của chương trình.

MÔ HÌNH THƯƠNG MẠI ĐIỆN TỬ

2.2.1 Mô hình Business-To-Business (B2B)

B2B (viết tắt của "Business to Business") là hình thức giao dịch giữa các doanh nghiệp với nhau, như các hoạt động giữa nhà sản xuất và nhà bán buôn hoặc giữa nhà bán buôn và cửa hàng bán lẻ Đây là mô hình kinh doanh phổ biến tập trung vào mối quan hệ hợp tác giữa các doanh nghiệp nhằm tối ưu hóa chuỗi cung ứng và tăng trưởng thị trường SEO keywords: B2B, giao dịch doanh nghiệp, mô hình kinh doanh B2B, hợp tác doanh nghiệp.

Một số đặc điểm của mô hình B2B:

- Ít người mua hơn so với tổng số người tiêu dùng

- Đơn đặt hàng có quy mô lớn hơn

- Mối quan hệ của người mua và người bán là lâu dài

- Dễ dàng chọn ra phân khúc khách hàng tiềm năng

- Nhiều người tham gia vào quyết định mua hàng

- Phương pháp mua hàng chuyên nghiệp, dựa trên thông tin và quyết định hợp lý

- Tập trung vào giá cả

2.2.2 Mô hình Business-To-Consumer (B2C)

B2C (Business to Consumer) là mô hình kinh doanh trực tiếp giữa doanh nghiệp và người tiêu dùng cuối cùng Mô hình này tập trung vào quá trình bán sản phẩm hoặc dịch vụ trực tiếp đến khách hàng, giúp doanh nghiệp tiếp cận và phục vụ người tiêu dùng một cách hiệu quả B2C đóng vai trò quan trọng trong việc xây dựng mối quan hệ trực tiếp với khách hàng và thúc đẩy doanh số bán hàng.

- Một số đặc điểm của mô hình B2C:

- Giao tiếp trực tiếp với người mua

- Chu kì bán hàng ngắn

2.2.3 Mô hình Consumer-To-Consumer (C2C)

Mô hình C2C (Consumer to Consumer) là hình thức kinh doanh giữa các cá nhân, trong đó người mua và người bán đều là các cá nhân sử dụng nhiều nền tảng trực tuyến khác nhau Đây là mô hình thương mại phổ biến trên Internet, thay vì giao dịch giữa doanh nghiệp và khách hàng C2C giúp người tiêu dùng dễ dàng mua bán hàng hóa và dịch vụ trực tiếp với nhau qua các trang web thương mại điện tử.

Một số ví dụ điển hình về mô hình C2C:

- Dạng dịch vụ hỗ trợ

2.2.4 Mô hình Consumer-To-Business (C2B)

C2B là mô hình kinh doanh nơi người tiêu dùng tạo ra giá trị và bán lại cho doanh nghiệp, giúp doanh nghiệp tận dụng nguồn lực từ khách hàng Trái ngược với mô hình B2C truyền thống, trong đó các công ty cung cấp hàng hóa và dịch vụ cho người tiêu dùng cuối, mô hình C2B cho phép người tiêu dùng đóng vai trò là nguồn cung cấp giá trị, tạo ra sự đa dạng và linh hoạt trong hoạt động kinh doanh Đây là xu hướng mới trong marketing số, giúp doanh nghiệp khai thác sức mạnh cộng đồng và nâng cao trải nghiệm khách hàng.

2.2.5 Mô hình Business-To-Government (B2G)

Hình thức B2A (business-to-administration) đề cập đến giao dịch giữa các công ty tư nhân và các cơ quan công cộng, thường dưới dạng hợp đồng để cung cấp dịch vụ hoặc hàng hóa được ủy quyền Ví dụ, một công ty giám sát có thể đấu thầu trực tuyến để nhận hợp đồng làm sạch tòa án quận, hoặc một doanh nghiệp công nghệ thông tin có thể đáp ứng đề xuất quản lý phần cứng máy tính của thành phố.

2.2.6 Mô hình Consumer-TO-Government (C2G)

Mô hình tương tác của người dùng với cơ quan chính phủ hoặc các dịch vụ công cộng, trong đó bao gồm các hoạt động như nộp thuế trực tuyến, mua hàng hóa của cơ quan chính phủ và đóng phạt Đây là hình thức giúp người dân dễ dàng tiếp cận các dịch vụ công một cách nhanh chóng, tiện lợi và an toàn Tăng cường các nền tảng số hóa này góp phần nâng cao hiệu quả quản lý nhà nước và cải thiện trải nghiệm của người dùng khi thực hiện các dịch vụ công.

2.2.7 Mô hình được sử dụng trong đồ án

Mô hình được sử dụng trong đồ án là mô hình C2C, khi người sử dụng được xác định là các cá nhân có nhu cầu mua và bán hàng

Một số ưu điểm của mô hình C2C:

Mô hình C2C giúp giảm bớt chi phí môi giới và hoa hồng, vì người bán không cần thông qua các nhân vật trung gian như nhà sản xuất hay nhà bán buôn Nhờ đó, người bán và người mua có thể kết nối và giao dịch trực tiếp với nhau, mang lại lợi ích rõ rệt cho cả hai bên Người bán không phải chia lợi nhuận cho các bên trung gian, trong khi người mua có thể mua hàng với giá tốt hơn do sản phẩm không trải qua nhiều giai đoạn trung gian.

Người bán có thể mở rộng khả năng tiếp cận tới nhiều khách hàng hơn thông qua các kênh tương tác đa dạng Khách hàng có thể trực tiếp trao đổi, chia sẻ thông tin và phản hồi, giúp người bán hiểu rõ hơn về nhu cầu và sở thích của khách hàng Việc này không chỉ nâng cao trải nghiệm mua sắm mà còn thúc đẩy doanh số bán hàng hiệu quả hơn.

Một số nhược điểm của mô hình:

Mô hình không có sự kiểm soát về chất lượng sản phẩm, khiến cho sản phẩm không có hệ quy chiếu hay bên thứ ba xác thực về chất lượng và thông tin sản phẩm Điều này dễ dẫn đến các tranh chấp và hiểu lầm giữa người bán và người mua.

Vấn đề thanh toán không được đảm bảo là một nhược điểm lớn của mô hình kinh doanh, đặc biệt khi không có sự đảm bảo từ bên thứ ba Tình trạng người mua không thực hiện thanh toán khi nhận hàng dễ xảy ra, gây ảnh hưởng tiêu cực đến quá trình giao dịch và doanh thu của doanh nghiệp.

MÔ HÌNH CLIENT–SERVER

Mô hình client-server là một cấu trúc ứng dụng phân tán, trong đó công việc được phân chia giữa máy chủ cung cấp tài nguyên hoặc dịch vụ và máy khách yêu cầu dịch vụ Các máy khách và máy chủ thường giao tiếp qua mạng máy tính trên các phần cứng riêng biệt, nhưng cũng có thể nằm trên cùng một hệ thống Máy chủ chạy các chương trình độc lập, không chia sẻ tài nguyên của nó, chỉ cung cấp nội dung hoặc dịch vụ từ xa Máy khách thiết lập các phiên giao tiếp với máy chủ và chờ các yêu cầu đến.

Trong mô hình client – server, máy khách được định nghĩa là một máy trạm dành riêng cho một người dùng, nhằm thể hiện tính độc lập và riêng tư trong quá trình sử dụng.

Máy khách có thể sử dụng các hệ điều hành phổ biến như Windows 9x, DOS, OS/2 Mỗi máy khách đã được tích hợp nhiều chức năng dựa trên hệ điều hành cài đặt, nhưng khi kết nối vào mạng LAN hoặc WAN theo mô hình chủ – khách, nó còn có thể truy cập các dịch vụ do hệ điều hành mạng (NOS) cung cấp, như lấy dữ liệu hoặc gửi dữ liệu lên máy chủ Trong mô hình chủ – khách, các chức năng chính thường là sự phối hợp giữa máy khách và máy chủ, chia sẻ tài nguyên và dữ liệu trên cả hai thiết bị để đảm bảo hoạt động hiệu quả hơn.

Trong mô hình chủ – khách, máy khách được xem là người sử dụng dịch vụ mạng do máy chủ cung cấp, trong khi máy chủ hoạt động như nhà cung cấp dịch vụ để phản hồi các yêu cầu từ các máy khách khác Hiểu rõ vai trò của máy khách và máy chủ trong từng mô hình là điều cần thiết, vì một máy khách trong một mô hình có thể đồng thời là máy chủ trong mô hình khác Ví dụ, một máy trạm trong mạng LAN vừa đóng vai trò máy khách thông thường, vừa có thể trở thành máy in chủ, cung cấp dịch vụ in ấn từ xa cho nhiều người dùng khác.

Máy khách được hiểu như là bề nổi của các dịch vụ trên mạng, đóng vai trò trung tâm trong việc hiển thị thông tin khi có dữ liệu vào hoặc ra Nếu có dữ liệu truyền qua, thông tin đó sẽ được hiển thị trực tiếp trên máy khách, giúp người dùng dễ dàng truy cập và tương tác với các dịch vụ mạng.

Máy chủ (server) được định nghĩa là một máy tính nhiều người dùng (multiuser computer), có khả năng quản lý nhiều yêu cầu từ các máy khách trên mạng một cách hiệu quả Để đạt hiệu suất tối ưu, hệ điều hành của máy chủ nên là hệ điều hành đa nhiệm và hỗ trợ các tính năng hoạt động độc lập song song, như UNIX hoặc Windows.

Server chịu trách nhiệm cung cấp và điều khiển các tiến trình truy cập vào tài nguyên của hệ thống, đảm bảo hoạt động hiệu quả và an toàn Các ứng dụng chạy trên máy chủ cần được tách rời nhau để tránh tình trạng lỗi của một ứng dụng ảnh hưởng đến các ứng dụng khác, nâng cao độ tin cậy của hệ thống Tính đa nhiệm của server giúp quản lý tốt các tiến trình, đảm bảo không một tiến trình nào chiếm dụng toàn bộ tài nguyên hệ thống, từ đó tối ưu hiệu suất hoạt động.

Máy chủ đóng vai trò như một nhà cung cấp dịch vụ cho các máy khách yêu cầu, nhằm hỗ trợ các hoạt động như cơ sở dữ liệu, in ấn, truyền tệp, và hệ thống Các ứng dụng máy chủ cung cấp các dịch vụ chức năng nhằm nâng cao hiệu quả làm việc của máy khách, có thể là toàn bộ hoặc một phần thông qua IPC Để đảm bảo an toàn mạng, máy chủ còn đảm nhận vai trò quản trị mạng, kiểm soát quyền truy cập dữ liệu của các máy khách Hiện nay, một trong những phương pháp quản trị hiệu quả nhất là sử dụng tên đăng nhập và mật khẩu để bảo vệ quyền truy cập.

Trong mô hình Client – Server, server chịu trách nhiệm nhận tất cả các yêu cầu hợp lệ từ các máy tính khác nhau trên Internet, sau đó xử lý và trả kết quả về cho máy client đã gửi yêu cầu Mô hình này đảm bảo quá trình truyền dữ liệu diễn ra hiệu quả và an toàn, đồng thời tối ưu hóa khả năng chia sẻ tài nguyên giữa các thiết bị Khả năng xử lý nhiều yêu cầu cùng lúc giúp hệ thống trở nên linh hoạt và mở rộng phù hợp với nhu cầu sử dụng ngày càng tăng.

Máy tính được coi là máy khách khi thực hiện nhiệm vụ gửi yêu cầu đến máy chủ và chờ đợi phản hồi từ máy chủ Để máy khách và máy chủ có thể giao tiếp hiệu quả, chúng cần tuân thủ một chuẩn truyền thông nhất định gọi là giao thức Các giao thức phổ biến hiện nay bao gồm HTTPS, TCP/IP, FTP giúp đảm bảo quá trình trao đổi dữ liệu diễn ra an toàn và hiệu quả.

Trong quá trình giao tiếp giữa máy khách và máy chủ, máy khách cần tuân thủ các giao thức mà máy chủ đề ra để lấy thông tin Khi yêu cầu của máy khách được chấp nhận, máy chủ sẽ thu thập dữ liệu và gửi kết quả trở lại Máy chủ luôn sẵn sàng nhận yêu cầu từ máy khách, chỉ cần nhận tín hiệu yêu cầu, máy chủ sẽ nhanh chóng phản hồi và gửi dữ liệu mong muốn về phía máy khách.

TRÍ TUỆ NHÂN TẠO

Trí tuệ nhân tạo (AI), còn gọi là artificial intelligence, là lĩnh vực công nghệ nhằm tạo ra máy móc có khả năng thể hiện trí tuệ và trí thông minh của con người, như suy nghĩ, lập luận, giao tiếp qua hiểu ngôn ngữ, và tự học để thích nghi Thuật ngữ này được sử dụng phổ biến trong cộng đồng công nghệ thông tin, mô tả sự thông minh của máy móc do con người tạo ra, đặc biệt dành cho máy tính, robot và các thiết bị điện tử có thành phần tính toán Mục tiêu của trí tuệ nhân tạo là phát triển các hệ thống có thể thực hiện các hoạt động thông minh như con người, bao gồm biết suy nghĩ, giải quyết vấn đề và giao tiếp hiệu quả.

Trí tuệ nhân tạo (AI) có một lĩnh vực quan trọng là thị giác máy (Computer Vision), bao gồm các phương pháp thu nhận, xử lý ảnh kỹ thuật số, phân tích và nhận dạng hình ảnh Công nghệ này giúp phát hiện các đối tượng, tạo và nâng cao chất lượng ảnh, cùng với nhiều ứng dụng khác Trong đó, Object Detection đóng vai trò cốt lõi và thường xuyên được sử dụng trong thực tế, phản ánh tầm quan trọng của lĩnh vực thị giác máy.

Object Detection là công nghệ cho phép hệ thống máy tính và phần mềm xác định vị trí và nhận diện các đối tượng trong hình ảnh, như khuôn mặt, xe cộ, hoặc người đi bộ Công nghệ này đã được ứng dụng rộng rãi trong các lĩnh vực như hệ thống bảo mật, xe tự lái, và đếm số người đi bộ Các phương pháp nhận diện đối tượng đa dạng, phù hợp với nhiều lĩnh vực thực tiễn khác nhau Nhờ vào sự sáng tạo của các lập trình viên và nhà phát triển phần mềm, Object Detection ngày càng mang đến nhiều ứng dụng đột phá và hiệu quả.

Nhận dạng tiếng nói là quá trình phân lớp thông tin đầu vào là tín hiệu tiếng nói thành các mẫu đã học trước và lưu trữ trong bộ nhớ Các mẫu này có thể là từ hoặc âm vị, và nếu chúng không thay đổi thì việc nhận dạng trở nên đơn giản bằng cách so sánh dữ liệu mới với các mẫu đã học Tuy nhiên, thách thức lớn trong nhận dạng tiếng nói là do tiếng nói luôn biến thiên theo thời gian và có sự khác biệt lớn giữa các người nói, tốc độ nói, ngữ cảnh và môi trường âm học Việc xác định các đặc trưng biến thiên có ý nghĩa và loại bỏ những yếu tố không cần thiết là rất quan trọng để nâng cao độ chính xác Đây là một nhiệm vụ phức tạp, ngay cả với các kỹ thuật xác suất thống kê mạnh mẽ cũng gặp khó khăn trong việc tổng quát hóa các biến thiên quan trọng trong các mẫu tiếng nói.

NODE.JS

NodeJS là một nền tảng mạnh mẽ được xây dựng dựa trên "V8 JavaScript engine," viết bằng ngôn ngữ C++ và JavaScript, giúp mở rộng khả năng của JavaScript phía máy chủ Được phát triển bởi Ryan Lienhart Dahl vào năm 2009, NodeJS đã trở thành một công cụ phổ biến để xây dựng các ứng dụng web hiệu quả, nhanh chóng và dễ mở rộng.

Node.js được tạo ra khi các nhà phát triển đầu tiên của JavaScript mở rộng khả năng của nó từ việc chỉ chạy trên trình duyệt thành nền tảng cho phép chạy ứng dụng độc lập trên máy tính của người dùng Đây là bước ngoặt quan trọng giúp JavaScript trở thành một ngôn ngữ phù hợp cho phát triển backend và xây dựng các ứng dụng máy chủ bật nhất.

2.5.2 Lý do chọn Node.JS

Ứng dụng Node.js chủ yếu được phát triển bằng ngôn ngữ lập trình Javascript, một ngôn ngữ phổ biến, dễ sử dụng và có khả năng hoạt động trên nhiều trình duyệt, nền tảng và hệ điều hành khác nhau.

- Nodejs khá nhẹ nhưng lại hiệu quả nhờ vào cơ chế non-blocking I/O, chạy đa nền tảng

- Tương thích với nhiều thiết bị Bạn có thể chạy các ứng dụng phát triển bởi Nodejs trên bất cứ thiết bị nào, dù là Mac, Window, Linux

- Cộng đồng Nodejs khá lớn và được cung cấp miễn phí cho người dùng

- Ứng dụng NodeJS có khả năng chạy đa nền tảng, thiết bị, đồng thời đáp ứng được yêu cầu về thời gian thực

- Node.JS có tốc độ cực kỳ nhanh, xử lý được nhu cầu sử dụng của lượng khách truy cập ‘khổng lồ’ trong thời gian cực ngắn

Ứng dụng phát triển bằng Node.js có khả năng xử lý nhiều yêu cầu truy cập đồng thời, nâng cao khả năng mở rộng và hiệu quả vận hành của hệ thống Nhờ khả năng quản lý đa luồng, Node.js giúp người quản trị dễ dàng phân chia các luồng truy cập khi có lượng người dùng lớn đổ về cùng lúc Điều này giúp giảm thiểu tình trạng quá tải hệ thống, đảm bảo tính ổn định và trải nghiệm người dùng mượt mà hơn Ngoài ra, Node.js còn tối ưu hóa hiệu suất xử lý dữ liệu, phù hợp cho các ứng dụng yêu cầu tốc độ phản hồi nhanh và xử lý lượng lớn truy cập đồng thời.

FLUTTER

Flutter is an open-source UI software development kit created by Google, designed for building cross-platform applications It enables developers to create high-performance apps for multiple platforms, including Mac, Windows, Android, iOS, Linux, and Google Fuchsia, using a single codebase.

Flutter được thiết kế nhằm xây dựng các ứng dụng đẹp và native trên nhiều hệ điều hành khác nhau chỉ với một mã nguồn duy nhất Đặc biệt, Flutter khác biệt so với các framework đa nền tảng hiện nay khi chỉ sử dụng duy nhất ngôn ngữ Dart để phát triển cả giao diện người dùng và logic kinh doanh, giúp tối ưu quá trình phát triển ứng dụng.

Bảng 2.1: Flutter lập trình UI và Business logic

Những thành phần chính của Flutter bao gồm:

- Dart platform: Các ứng dụng Flutter được viết bằng ngôn ngữ Dart

Flutter engine được viết chủ yếu bằng ngôn ngữ C++, cung cấp khả năng render mức thấp thông qua thư viện đồ họa Skia của Google, giúp tạo ra trải nghiệm mượt mà cho các ứng dụng Nó còn tương tác với các SDK của các nền tảng khác như iOS và Android để đảm bảo tính đa nền tảng Flutter engine tạo ra môi trường chạy cho các ứng dụng Flutter, cung cấp các thư viện cốt lõi cho animation, đồ họa, xử lý tài liệu, mạng, nhập liệu và xuất dữ liệu, giúp xây dựng ứng dụng hiệu quả và linh hoạt.

The Foundation library is a core component of Flutter that provides essential classes, functions, and APIs needed to build applications It serves as the foundational layer, enabling seamless communication with the Flutter engine and supporting app development with reliable, carefully designed tools.

- Design-specific widgets: Flutter cung cấp 2 bộ widgets cơ bản, bao gồm Material Design và Cupertino

- Flutter Development Tools (DevTools): Các công cụ hỗ trợ cho các lập trình viên, bao gồm các công cụ debug…

Flutter là một framework đa nền tảng mạnh mẽ, giúp lập trình viên chỉ cần viết mã một lần duy nhất và có thể sử dụng cho nhiều nền tảng khác nhau Với khả năng mở rộng và linh hoạt, Flutter hỗ trợ port ứng dụng đến hầu hết các hệ điều hành phổ biến hiện nay như Linux, MacOS, iOS, Android và trình duyệt web, mang lại hiệu quả cao trong phát triển phần mềm.

Flutter có nguồn tài liệu phong phú và được sắp xếp hợp lý, giúp các lập trình viên dễ dàng học tập và bắt đầu phát triển ứng dụng một cách thuận tiện và hiệu quả.

Dart là một ngôn ngữ lập trình mạnh mẽ, rõ ràng và dễ học, được phát triển bởi cộng đồng lớn Việc xây dựng Dart dựa trên một nền tảng vững chắc giúp nó trở thành lựa chọn lý tưởng cho các nhà phát triển muốn xây dựng các ứng dụng hiệu quả và linh hoạt Đặc điểm nổi bật của Dart là cú pháp rõ ràng, dễ hiểu, giúp giảm thiểu thời gian học và tăng năng suất trong quá trình phát triển phần mềm Nhờ sự hỗ trợ từ cộng đồng rộng lớn, Dart luôn cập nhật và hoàn thiện để đáp ứng nhu cầu ngày càng cao của các dự án công nghệ.

Hot reload là tính năng nổi bật của Flutter giúp lập trình viên có thể xem ngay lập tức các thay đổi của ứng dụng sau khi chỉnh sửa và lưu, không cần phải xây dựng lại toàn bộ chương trình như các framework khác Nhờ đó, hot reload giúp tăng tốc quá trình phát triển ứng dụng, nâng cao năng suất của nhà phát triển.

Flutter là một framework mã nguồn mở hoàn toàn miễn phí, giúp lập trình viên dễ dàng tham gia vào quá trình phát triển Với khả năng chuyển đổi công nghệ linh hoạt, Flutter cung cấp giải pháp tối ưu mà không gây ra chi phí phát triển Điều này giúp các nhà phát triển tận dụng khả năng tùy biến cao và giảm thiểu rủi ro về mặt tài chính khi chọn công nghệ mới.

Hầu hết các framework đa nền tảng hiện nay không thể tích hợp và sử dụng các API gốc của các nền tảng chính, dẫn đến hạn chế khả năng tận dụng các ưu điểm sẵn có của nền tảng Việc này ảnh hưởng tiêu cực đến hiệu suất và tính năng của ứng dụng phát triển trên các nền tảng khác nhau Do đó, khả năng sử dụng API nền tảng là yếu tố quan trọng để đảm bảo tối đa hóa tiềm năng của ứng dụng đa nền tảng.

NGÔN NGỮ DART

Dart là một ngôn ngữ lập trình do Google phát triển, chuyên dùng để phát triển các ứng dụng client như mobile, web, server và desktop Với đặc điểm hướng đối tượng dựa trên lớp, Dart có cú pháp tương tự ngôn ngữ C và tích hợp hệ thống quản lý bộ nhớ tự động garbage-collected, giúp tối ưu hiệu suất và dễ dàng trong lập trình Dart có khả năng biên dịch ra mã native và JavaScript, mở rộng khả năng sử dụng cho nhiều nền tảng khác nhau.

2.7.2 Lý do chọn Dart a Dart rất linh hoạt

Dart là một ngôn ngữ lập trình linh hoạt và mã nguồn mở, cho phép phát triển ứng dụng trên nhiều nền tảng khác nhau Với Dart, bạn có thể viết mã để chạy trên các hệ điều hành di động như Android và iOS, đồng thời còn có thể phát triển ứng dụng web chạy trực tiếp trên trình duyệt Nhờ đó, Dart giúp các nhà phát triển xây dựng các ứng dụng đa nền tảng một cách dễ dàng và hiệu quả.

Người lập trình có thể trực tiếp đọc và phân tích mã nguồn của ngôn ngữ Dart để tìm hiểu và nâng cao kỹ năng của mình Họ còn lên ý tưởng sáng tạo dựa trên Dart, phát hiện lỗi và phản hồi cho các nhà phát triển ngôn ngữ, góp phần thúc đẩy sự phát triển và mở rộng cộng đồng Dart Ngoài ra, Dart còn được đánh giá là ngôn ngữ dễ học, phù hợp cho những người mới bắt đầu làm quen với lập trình.

Dart sở hữu cú pháp trực quan dựa trên các ngôn ngữ lập trình trước đó, giúp người mới dễ dàng làm quen Ngoài ra, Dart còn cung cấp một trang web tài liệu phong phú, dễ hiểu và đầy đủ, hỗ trợ người học nắm bắt mọi khía cạnh của ngôn ngữ lập trình này Thư viện phong phú của Dart cũng là một lợi thế lớn, cung cấp nhiều công cụ và tính năng đa dạng để phát triển ứng dụng một cách hiệu quả.

Dart là một ngôn ngữ lập trình mã nguồn mở với cộng đồng phát triển mạnh mẽ, mang lại kho thư viện phong phú phục vụ đa dạng các công việc của lập trình viên Là một ngôn ngữ trẻ, Dart liên tục được cập nhật và mở rộng khả năng, phù hợp cho nhiều dự án khác nhau.

Dart là một ngôn ngữ trẻ, được phát triển bởi Google, chính vì thế Dart có không gian phát triển vô cùng to lớn

Chương trình Dart bắt đầu bằng hàm main, giống như trong các ngôn ngữ lập trình khác như C, Swift hoặc Kotlin Trong hàm main, bạn sẽ khai báo biến, chú thích và kiểu dữ liệu để xử lý các tác vụ của chương trình một cách rõ ràng và hiệu quả Việc hiểu cách sử dụng biến, chú thích và kiểu dữ liệu đóng vai trò quan trọng trong việc xây dựng chương trình Dart có cấu trúc tốt và dễ bảo trì.

Biến hay variable là một khái niệm quan trọng trong lập trình, đóng vai trò lưu trữ dữ liệu của chương trình Trong ngôn ngữ Dart, để định nghĩa một biến, bạn có thể sử dụng hai cách khác nhau Việc hiểu rõ cách sử dụng biến giúp tối ưu hóa quá trình lập trình và nâng cao hiệu quả làm việc với mã nguồn Dart.

Cách đầu tiên để khai báo biến trong Dart là sử dụng từ khóa `var`, theo sau là tên biến và gán giá trị ban đầu cho biến Phương pháp này giúp Dart tự nhận biết kiểu dữ liệu phù hợp dựa trên giá trị ban đầu được gán cho biến đó Sử dụng `var` giúp viết mã ngắn gọn, dễ đọc và tối ưu hóa quá trình lập trình trong Dart.

Trong Dart, cách thứ hai để khai báo biến là sử dụng các kiểu dữ liệu xác định trước rồi đặt tên cho biến, mà không cần gán giá trị ban đầu Để chú thích, Dart sử dụng cú pháp tương tự C, với chú thích một dòng bắt đầu bằng // và chú thích nhiều dòng được đặt trong /* */ Dart có kiểu dữ liệu tĩnh, nghĩa là tất cả các biến phải được khai báo rõ ràng kiểu dữ liệu trước khi biên dịch và không thể thay đổi trong suốt quá trình thực thi, trái ngược với các ngôn ngữ động như Python hay JavaScript, nơi biến có thể lưu trữ nhiều kiểu dữ liệu khác nhau.

Dart có 4 kiểu dữ liệu cơ bản, bao gồm:

- String: chuỗi các ký tử

Bảng 2.2: Các kiểu dữ liệu cơ bản của Dart b Các toán tử (Operatos)

Dart có hầu hết các toán tử mà mọi ngôn ngữ khác có, bao gồm:

- Số học (Arithmetic): bao gồm các toán tử cộng trừ nhân chia

- So sánh (Comparison): Bao gồm các toán tử so sánh lớn hơn (>, >=), bé hơn (

Ngày đăng: 03/08/2023, 07:55

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Flutter, Flutter - Build apps for any screen, Địa chỉ: https://flutter.dev/, Ngày truy cập 14/03/2022 Sách, tạp chí
Tiêu đề: Flutter - Build apps for any screen
Tác giả: Flutter
[2] Flutter, Flutter documentation, Địa chỉ: https://docs.flutter.dev/, Ngày truy cập 14/03/2022 Sách, tạp chí
Tiêu đề: Flutter documentation
[3] GoSell, Các mô hình thương mại điện tử. Mô hình nào phổ biến tại Việt Nam?, Địa chỉ: https://www.gosell.vn/blog/mo-hinh-thuong-mai-dien-tu, Ngày truy cập 26/04/2022 Sách, tạp chí
Tiêu đề: Các mô hình thương mại điện tử. Mô hình nào phổ biến tại Việt Nam
Tác giả: GoSell
[4] Hồ Tú Bảo, Trí tuệ nhân tạo và chặng đường 50 năm, Địa chỉ: http://www.jaist.ac.jp/~bao/Writings/AI50years.pdf, Ngày truy cập 14/03/2022 Sách, tạp chí
Tiêu đề: Trí tuệ nhân tạo và chặng đường 50 năm
Tác giả: Hồ Tú Bảo
[5] ITNavi, Post man là gì, hướng dẫn sử dụng Postman hiệu quả nhất, Địa chỉ: https://itnavi.com.vn/blog/postman-la-gi, Ngày truy cập 26/04/2022 Sách, tạp chí
Tiêu đề: Post man là gì, hướng dẫn sử dụng Postman hiệu quả nhất
[6] Pos365, B2B là gì? Đặc điểm, lợi ích, ví dụ và chiến lược tiếp thị, Địa chỉ: https://www.pos365.vn/b2b-6185.html, Ngày truy cập 26/04/2022 Sách, tạp chí
Tiêu đề: B2B là gì? Đặc điểm, lợi ích, ví dụ và chiến lược tiếp thị
[7] Pos365, B2C là gì? Định nghĩa, lợi ích, ví dụ và chiến lược tiếp thị, Địa chỉ: https://www.pos365.vn/b2c-6183.html, Ngày truy cập 26/04/2022 Sách, tạp chí
Tiêu đề: B2C là gì? Định nghĩa, lợi ích, ví dụ và chiến lược tiếp thị
[8] Tạp chí tài chính, Phát triển thương mại điện tử trong bối cảnh hiện nay, Địa chỉ: https://tapchitaichinh.vn/tai-chinh-kinh-doanh/phat-trien-thuong-mai-dien-tu-trong-boi-canh-hien-nay-344623.html, Ngày truy cập 14/03/2022 Sách, tạp chí
Tiêu đề: Phát triển thương mại điện tử trong bối cảnh hiện nay
Nhà XB: Tạp chí tài chính
[9] VietNamBiz, C2C (Consumer to Consumer) là gì? Định nghĩa và ví dụ, Địa chỉ: https://vietnambiz.vn/c2c-consumer-to-consumer-la-gi-dinh-nghia-va-vi-du-20190808110626953.htm, Ngày truy cập 26/04/2022 Sách, tạp chí
Tiêu đề: C2C (Consumer to Consumer) là gì? Định nghĩa và ví dụ
Tác giả: VietNamBiz
Nhà XB: VietNamBiz
Năm: 2019
[10] Wikipedia, Mô hình khách – chủ – Wikipedia Tiếng Việt, Địa chỉ: https://vi.wikipedia.org/wiki/Mô_hình_khách_–_chủ, Ngày truy cập 14/03/2022 Sách, tạp chí
Tiêu đề: Mô hình khách – chủ
Tác giả: Wikipedia
Nhà XB: Wikipedia Tiếng Việt
[11] Wikipedia, Node.JS, Địa chỉ: https://vi.wikipedia.org/wiki/Node.js, Ngày truy cập 14/03/2022 Sách, tạp chí
Tiêu đề: Node.JS
[12] Wikipedia, Visual Studio Code – Wikipedia Tiếng Việt, Địa chỉ: https://vi.wikipedia.org/wiki/Visual_Studio_Code, Ngày truy cập 26/04/2022 Sách, tạp chí
Tiêu đề: Visual Studio Code – Wikipedia Tiếng Việt
Nhà XB: Wikipedia
[13] Wikipedia, Nhận diện tiếng nói – Wikipedia Tiếng Việt, Địa chỉ: https://vi.wikipedia.org/wiki/Nhận_dạng_tiếng_nói, Ngày truy cập 14/03/2022 Sách, tạp chí
Tiêu đề: Nhận diện tiếng nói
Tác giả: Wikipedia
Nhà XB: Wikipedia Tiếng Việt

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w