1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ án tốt nghiệp xây dựng ứng dụng “đặt món ăn tại bàn” cho nhà hàng, quán ăn

40 13 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 ứng dụng 'Đặt món ăn tại bàn' cho nhà hàng, quán ăn
Tác giả Trương Vĩnh Kha
Người hướng dẫn ThS. Phạm Hồ Trọng Nguyên
Trường học Trường Đại học Công nghệ Thông tin và Truyền thông Việt - Hàn
Chuyên ngành Công nghệ Thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2021
Thành phố Đà Nẵng
Định dạng
Số trang 40
Dung lượng 2 MB

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

Nội dung

Liên hệ với bài toán thực tế kể trên, đối với các nhà hàng hoặc khu vực hoạt động ăn uống, tại sao lại không sử dụng chính những thiết bị gần gũi hằng ngày đó để giúp đỡ những tiểu thươn

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

VÀ TRUYỀN THÔNG VIỆT - HÀN

KHOA KHOA HỌC MÁY TÍNH

HỌ VÀ TÊN HSSV Trương Vĩnh Kha

TÊN ĐỀ TÀI Xây dựng ứng dụng “Đặt món ăn tại bàn” cho nhà

hàng, quán ăn

ĐỒ ÁN TỐT NGHIỆP

NGÀNH CÔNG NGHỆ THÔNG TIN

Đà Nẵng – Tháng 11 Năm 2021

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

VÀ TRUYỀN THÔNG VIỆT - HÀN

KHOA KHOA HỌC MÁY TÍNH

HỌ VÀ TÊN HSSV Trương Vĩnh Kha

Mã HSSV: 191C900022

TÊN ĐỀ TÀI Xây dựng ứng dụng “Đặt món ăn tại bàn” cho nhà

Trang 3

Nhận xét của cán bộ hướng dẫn

Trang 4

Nhận xét của phản biện 1

Trang 5

Nhận xét của phản biện 2

Trang 6

LỜI CẢM ƠN

Lời đầu tiên, em không biết nói gì hơn ngoài bày tỏ sự biết ơn sâu sắc đến các thầy cô Trong suốt chặng đường học tập tại Trường Đại học Công nghệ Thông tin và Truyền thông Việt – Hàn, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý thầy cô cùng bạn bè Với lòng biết ơn và chân thành, em xin gửi đến quý thầy cô Trường Đại học Công nghệ Thông tin và Truyền thông Việt – Hàn đã luôn cân cần giúp đỡ và hướng dẫn em, dùng tri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho em trong suốt thời gian em học tại trường

Đặc biệt, em xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc nhất đến thầy ThS Phạm

Hồ Trọng Nguyên, thầy là người đã trực tiếp hướng dẫn em trong việc lựa chọn đề tài nghiên cứu, hướng tiếp cận và giúp em chỉnh sửa những thiếu sót trong quá trình nghiên cứu Trong quá trình nghiên cứu, khó tránh khỏi sai sót, rất mong các Thầy, Cô bỏ qua và giúp em hoàn thiện hơn

Đồng thời do trình độ lý luận cũng như kinh nghiệm thực tiễn còn hạn chế nên bài luận văn không thể tránh khỏi những thiếu sót, em rất mong nhận được ý kiến đóng góp từ phía Thầy, Cô để em học thêm được nhiều kinh nghiệm và sẽ hoàn thành tốt hơn

Em xin chân thành cảm ơn!

Trang 7

MỤC LỤC

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 10

DANH MỤC HÌNH VẼ 11

MỞ ĐẦU 13

1 Tính cấp thiết của đề tài 13

2 Mục tiêu nghiên cứu 13

3 Đối tượng và phạm vi nghiên cứu 13

4 Phương pháp nghiên cứu 14

5 Ý nghĩa khoa học và thực tiễn của đề tài 14

6 Bố cục đề tài 14

Chương 1: Tổng quan về công nghệ sử dụng trong đề tài 1

1 Node JS 1

1.1 Khái niệm Node JS 1

1.2 Đặc điểm của Node JS 1

1.3 Điểm mạnh và hạn chế của Node JS 1

2 React JS 2

2.1 Khái niệm React JS 2

2.2 Tính năng nổi bật của React JS 2

2.3 Tại sao nên dùng ngôn ngữ React JS để xây dựng web app 3

3 React Native 4

3.1 Khái niệm React Native 4

3.2 Ưu điểm và nhược điểm của React Native 4

3.3 Điểm khác biệt của ReactJS và React Native 5

4 MySQL 5

4.1 Khái niệm MySQL 5

4.2 Ưu điểm, nhược điểm của MySQL 5

4.3 Tại sao nên sử dụng hệ quản trị cơ sở dữ liệu MySQL 6

5 Socket IO 6

5.1 Khái niệm Socket IO 6

5.2 Những điểm nổi bật của Socket IO 7

Chương 2: Phân tích, thiết kế hệ thống 8

1 Các tác nhân 8

Trang 8

1.1 Người dùng 8

1.2 Người quản trị 8

1.3 Nhân viên 8

2 Biểu đồ use-case 8

2.1 Biểu đồ use-case tổng quát 8

2.2 Biểu đồ use-case người dùng 9

2.3 Biểu đồ use-case nhân viên 9

2.4 Biểu đồ use-case admin 10

3 Biểu đồ tuần tự 11

3.1 Biểu đồ tuần tự đăng nhập admin, nhân viên 11

3.2 Biểu đồ tuần tự thêm tài khoản nhân viên 12

3.3 Biểu đồ tuần tự chỉnh sửa tài khoản nhân viên 13

3.4 Biểu đồ tuần tự xóa tài khoản nhân viên 13

3.5 Biểu đồ tuần tự thêm món ăn 14

3.6 Biểu đồ tuần tự chỉnh sửa giá thành, hình ảnh món ăn 14

3.7 Biểu đồ tuần tự tự xóa món ăn 15

3.8 Biểu đồ tuần tự thêm bàn 15

3.9 Biểu đồ tuần tự xóa bàn 16

3.10 Biểu đồ tuần tự tạo hóa đơn mới 16

3.11 Biểu đồ tuần tự gọi món 17

3.12 Biểu đồ tuần tự xác nhận đặt món 17

3.13 Biểu đồ tuần tự thanh toán 18

4 Biểu đồ ERD 18

Chương 3: Xây dựng ứng dụng 19

1 Ứng dụng di động (Dành cho khách hàng) 19

1.1 Màn hình trang chủ 19

1.2 Màn hình chọn món 19

1.3 Màn hình chi tiết gọi món 20

1.4 Màn hình cài đặt 20

2 Ứng dụng Web (Dành cho Admin, nhân viên) 21

2.1 Màn hình đăng nhập 21

2.2 Màn hình trang chủ 21

2.3 Màn hình lịch sử gọi món 22

Trang 9

2.5 Màn hình quản lý món ăn (Dành cho Admin) 23

2.6 Màn hình quản lý bàn (Dành cho Admin) 23

Chương 4: Kết luận và hướng phát triển 24

1 Kết quả đạt được 24

2 Hướng nghiên cứu 24

TÀI LIỆU THAM KHẢO 25

Trang 10

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

CPU Central Processing Unit

HTML Hypertext Markup Language

DOM Document Object Model

SEO Search Engine Optimization

VPS Virtual Private Server

Perl Practical Extraction and Report Language

ASP Active Server Pages

NET Network Enabled Technologies

JSX Javascript eXtensible Markup Language

Trang 11

DANH MỤC HÌNH VẼ

Hình 1: Các tác nhân 8

Hình 2: Biểu đồ use-case 8

Hình 3: Biểu đồ use-case người dùng 9

Hình 4: Biểu đồ use-case nhân viên 9

Hình 5: Biểu đồ use-case nhân viên bếp 10

Hình 6: Biểu đồ use-case admin 10

Hình 7: Biểu đồ tuần từ đăng nhập của admin 11

Hình 8: Biểu đồ tuần tự đăng nhập của nhân viên 11

Hình 9: Biểu đồ tuần tự đăng nhập của nhân viên bếp 12

Hình 10: Biểu đồ tuần tự thêm tài khoản nhân viên 12

Hình 11: Biểu đồ tuần tự chỉnh sửa tài khoản nhân viên 13

Hình 12: Biểu đồ tuần tự xóa tài khoản nhân viên 13

Hình 13: Biểu đồ tuần tự thêm món ăn 14

Hình 14: Biểu đồ tuần tự chỉnh sửa giá thành, hình ảnh món ăn 14

Hình 15: Biểu đồ tuần tự xóa món ăn 15

Hình 16: Biểu đồ tuần tự thêm bàn 15

Hình 17: Biểu đồ tuần tự xóa bàn 16

Hình 18: Biều đồ tuần tự tạo hóa đơn 16

Hình 19: Biểu đồ tuần từ gọi món 17

Hình 20: Biểu đồ tuần tự xác nhận đặt món 17

Hình 21: Biểu đồ tuần tự thanh toán 18

Hình 22: Biểu đồ ERD 18

Hình 23: Màn hình trang chủ trên di động 19

Hình 24: Màn hình chọn món 19

Hình 25: Màn hình chi tiết gọi món 20

Hình 26: Màn hình cài đặt 20

Hình 27: Màn hình đăng nhập 21

Hình 28: Màn hình trang chủ 21

Hình 29: Màn hình lịch sử gọi món 22

Trang 12

Hình 30: Màn hình quản lý tài khoản 22Hình 31: Màn hình quản lý món ăn 23Hình 32: Màn hình quản lý bàn 23

Trang 13

MỞ ĐẦU

1 Tính cấp thiết của đề tài

Hiện nay, ngành nhà hàng, dịch vụ ăn uống tại Việt Nam đang phát triển, nhu cầu nhân viên phục vụ trong giờ cao điểm càng cần thiết hơn Tuy nhiên, tình trạng khách hàng phải chờ quá lâu hoặc phục vụ sai món hoặc thanh toán nhầm vẫn còn xảy ra Đôi khi chính bản thân em cũng bị rơi vào tình trạng đó và đúng là không dễ chịu chút nào

Bên cạnh đó các thiết bị điện tử đặc biệt là điện thoại thông minh và máy tính bảng đang có sự phát triển vượt bậc và dần trở nên phổ biến hơn đối với mọi người cũng như mọi gia đình So với mười năm trước đây, bây giờ không khó để bắt gặp những chiếc điện thoại thông minh mỗi khi đi ra đường

Liên hệ với bài toán thực tế kể trên, đối với các nhà hàng hoặc khu vực hoạt động ăn uống, tại sao lại không sử dụng chính những thiết bị gần gũi hằng ngày đó để giúp đỡ những tiểu thương và chủ nhà hàng trong việc quản lý các đơn hàng ở quán của họ?

Từ những lý do đó, em đã chọn đề tài này nhằm giúp họ giải quyết các vấn đề trên

2 Mục tiêu nghiên cứu

Với mục tiêu vận dụng những gì đã được học trên ghế nhà trường vào thực tế, đặc biệt hơn nữa là nước ta đang trong thời kì chuyển đổi số, em muốn tạo ra một ứng dụng cho phép đặt món ăn tại bàn do chính khách hàng trực tiếp chọn và yêu cầu nhà hàng phục vụ

Từ đó, giảm thiểu được sai sót trong các khâu trung gian, vừa trao quyền chủ động cho khách hàng vừa giảm tải giúp nhân viên trong những dịp cao điểm

Em thấy rằng mình cần phải hoàn thành được 2 nhiệm vụ chính Về mặt khách hàng: Ứng dụng phải sinh động, dễ sử dụng với mọi đối tượng Về phía chủ nhà hàng: phải đảm bảo nghiệp vụ rõ ràng, chính xác trong khâu tính toán để tránh khỏi thất thoát và lỗ vốn do phần mềm gây ra

3 Đối tượng và phạm vi nghiên cứu

Với tính thực tiễn cao của đề tài, ứng dụng của em không chỉ thích hợp để sử dụng cho các mô hình nhà hàng/quán ăn vừa và lớn, có số lượng khách vào giờ cao điểm đông (điển hình như: Đặc sản Trần, chuỗi quán ăn Bún đậu Gia Di, …) mà còn có thể sử dụng tại các cửa hàng quán ăn quy mô nhỏ hơn như quán bánh tráng kẹp, ăn vặt… Do chi phí xây dựng

hệ thống là không quá lớn, tối thiểu chỉ cần một chiếc máy tính và một chiếc điện thoại thông minh có kết nối mạng là đã có thể vận hành được

Trang 14

4 Phương pháp nghiên cứu

Em chọn phương pháp nghiên cứu từ thực tế, bằng cách tìm hiểu và nắm bắt quy trình phục vụ của một số nhà hàng quán ăn, cũng như khảo sát một số thói quen khi chọn lựa món ăn của khách hàng Từ những thông tin đã thu thập được, em có thể phân tích và đưa

ra được các nghiệp vụ mà hệ thống cần phải giải quyết, qua đó khắc phục những điểm bất cập so với cách gọi món truyền thống bằng miệng hoặc ghi giấy

5 Ý nghĩa khoa học và thực tiễn của đề tài

Giúp chủ nhà hàng/quán ăn ứng dụng công nghệ vào kinh doanh, cắt giảm chi phí nhân viên, tăng khả năng tương tác, lôi kéo khách hàng tiềm năng

6 Bố cục đề tài

Sau phần Mở đầu, báo cáo được trình bày trong ba chương, cụ thể như sau:

Chương 1 Tổng quan về ngôn ngữ và hệ quản trị cơ sở dữ liệu MySQL

1.1 Ngôn ngữ Node JS

1.1.1 Khái niệm Node JS

1.1.2 Đặc điểm của Node JS

1.1.3 Điểm mạnh và hạn chế của Node JS

1.2 Ngôn ngữ React JS

1.2.1 Khái niệm React JS

1.2.2 Tính năng nổi bật của React JS

1.2.3 Tại sao nên dùng ngôn ngữ React JS để xây dựng web app

1.3 Ngôn ngữ React Native

1.3.1 Khái niệm React JS

1.3.2 Ưu điểm, nhược điểm của React Native

1.3.3 Điểm khác biệt của ReactJS và React Native

1.4 Hệ quản trị cơ sở dữ liệu MySQL

1.4.1 Khái niệm MySQL

1.4.2 Ưu điểm, nhược điểm của MySQL

1.4.3 Tại sao nên sử dụng hệ quản trị cơ sở dữ liệu MySQL

1.5 Socket IO

Trang 15

1.5.2 Những điểm nổi bật của Socket IO

Chương 2 Phân tích thiết kế hệ thống và tạo cơ sở dữ liệu

2.1 Các tác nhân

2.1.1 Tác nhân người dùng

2.1.2 Tác nhân người quản trị

2.1.3 Tác nhân nhân viên

2.2 Biểu đồ use-case

2.2.1 Biểu đồ use-case tổng quát

2.2.2 Biểu đồ use-case admin

2.2.3 Biểu đồ use-case nhân viên

2.2.4 Biểu đồ use-case người dùng

2.3 Biểu đồ tuần tự

2.3.1 Biểu đồ tuần tự đăng nhập admin, nhân viên

2.3.2 Biểu đồ tuần tự thêm tài khoản nhân viên

2.3.3 Biểu đồ tuần tự chỉnh sửa tài khoản nhân viên

2.3.4 Biểu đồ tuần tự xóa tài khoản nhân viên

2.3.5 Biểu đồ tuần tự thêm món ăn

2.3.6 Biểu đồ tuần tự chỉnh sửa giá thành, hình ảnh món ăn 2.3.7 Biểu đồ tuần tự xóa món ăn

2.3.8 Biểu đồ tuần tự thêm bàn

2.3.9 Biểu đồ tuần tự xóa bàn

2.3.10 Biểu đồ tuần tự tạo hóa đơn mới

2.3.11 Biểu đồ tuần tự gọi món

2.3.12 Biểu đồ tuần tự xác nhận đặt món

2.3.13 Biểu đồ tuần tự thanh toán

2.4 Biểu đồ ERD

Chương 4 Demo sản phẩm

Trang 16

Chương 1: Tổng quan về công nghệ sử dụng trong đề tài

1 Node JS

1.1 Khái niệm Node JS

NodeJS là mã nguồn mở chạy trên môi trường V8 JavaScript runtime (một trình thông dịch JavaScript chạy cực nhanh trên trình duyệt Chrome) NodeJS giúp các nhà phát triển xây dựng các ứng dụng web một cách đơn giản và dễ dàng mở rộng

NodeJS có thể được dùng để xây dựng các loại ứng dụng khác nhau như các ứng dụng dòng lệnh, ứng dụng web, ứng dụng trò chuyện theo thời gian thực, máy chủ REST API, Tuy nhiên, NodeJS thường được dùng chủ yếu để xây dựng các chương trình mạng như máy chủ web, tương tự như PHP, Java hoặc ASP.NET

Vì đây là mã nguồn mở nên cho phép bạn sử dụng miễn phí và đồng thời được liên tục được chỉnh sửa, cải tiến bởi cộng đồng các nhà phát triển toàn cầu

1.2 Đặc điểm của Node JS

 NodeJS không cần đợi API trả dữ liệu về, do đó mọi APIs nằm trong thư viện NodeJS đều không được đồng bộ

 Đây là một Platform chứ không phải là một Framework Do đó, NodeJS cho phép bạn có thể xây dựng các website một cách độc lập và nhanh chóng hơn

 NodeJS có thể chạy trên đa nền tảng gồm: Window, MacOS, Linux

 NodeJS được xem là một máy chủ đơn luồng và không thể hỗ trợ đa luồng

 NodeJS không được xem là một ngôn ngữ lập trình, nên những người mới phải nắm chắc kiến thức lập trình căn bản như: các giao thức, Javascript,… mới có thể

sử dụng NodeJS

 Phần core của NodeJS thường được biết bằng ngôn ngữ C++ nên nó hiệu năng và tốc độ xử lý tương đối cao Nhờ vậy, hầu hết các ứng dụng NodeJS đều có khả năng đáp ứng được thời gian thực chạy trên đa nền tảng, đa thiết bị,…

1.3 Điểm mạnh và hạn chế của Node JS

1.3.1 Điểm mạnh

 IO hướng sự kiện không đồng bộ giúp xử lý nhiều yêu cầu đồng thời

 Đáp ứng được những yêu cầu về thời gian thực

 Có tốc độ cực rất nhanh, đáp ứng được nhu cầu sử dụng của khách truy cập khổng lồ trong thời gian ngắn

 Sử dụng JavaScript, một ngôn ngữ lập trình rất dễ học

Trang 17

 Npm và các module rất mạnh mẽ và vẫn đang tiếp tục phát triển

 Có một cộng đồng lớn mạnh, có nhiều mã được chia sẻ qua github

 Tương thích với nhiều thiết bị, nhiều hệ điều hành như MacOS, Window, Linux,…

 Nếu không hiểu rõ về JavaScript, bạn sẽ gặp khó khăn với NodeJS

 NodeJS không phù hợp với các tác vụ đòi hỏi nhiều CPU mà chỉ phù hợp với những I/O như máy chủ web

 Nếu bạn có một web hosting dùng chung, sẽ rất khó khăn nếu bạn tải lên một ứng dụng NodeJS VPS và Dedicated server là một sự lựa chọn tốt hơn nhiều

2 React JS

2.1 Khái niệm React JS

ReactJS là một thư viện JavaScript được sử dụng để xây dựng giao diện người dùng (UI), bạn cũng có thể gọi với một cái tên khác là React

Năm 2013, Facebook đã công bố một thư viện JavaScript có mã nguồn mở có tên là ReactJS, ngay lập tức ReactJS được cộng đồng đón nhật một cách nồng nhiệt Rất nhanh chóng, ReactJS đã phát triển vượt bậc và áp đảo lượng người sử dụng trên bản thịnh hành, soán ngôi của Angular và Bootstrap

ReactJS được các tập đoàn khổng lồ như: Netflix, Airbnb, American Express, Facebook, WhatsApp, eBay, Instagram, … sử dụng để xây dựng giao diện người dùng cho ứng dụng của họ

Mục đích cốt lõi của ReactJS chính là giúp cho giao giao diện của các thiết bị có thể phản ứng một cách nhanh nhẹn hơn, hay nói khác đi là gia tăng độ mượt cho trang web, ứng dụng của bạn

2.2 Tính năng nổi bật của React JS

 Có thể sử dụng ReactJS để viết ứng dụng trực tiếp bằng JavaScript

 Biến các thành phần UI phức tạp trở thành những component độc lập

 Chuyển các dữ liệu đã được tùy biến đến một UI component cụ thể

Trang 18

 Thay đổi trạng thái cho nhiều component con và không gây ảnh hưởng đến component gốc dù đang ở trong đang ở trạng thái Stateful

 Khả năng xác định chính xác khi nào cần render lại cũng như khi nào bỏ đi phần

tử DOM

2.3 Tại sao nên dùng ngôn ngữ React JS để xây dựng web app

Dễ sử dụng, giao diện thân thiện với người dùng: Sử dụng ReactJS, người dùng có thể

tạo ra những ứng dụng web hấp dẫn, nhanh và hiệu quả với mã hóa tối thiểu Người dùng

sẽ cảm nhận rõ độ tối ưu của ReactJS ở các component (thành phần) riêng lẻ Thay vì phải làm việc trên toàn bộ ứng dụng website, khi sử dụng ReactJS, developer có thể chia nhỏ cấu trúc UI thành những component đơn giản hơn Với trình độ của một lập trình viên JavaScript, sử dụng ReactJS, có thể dễ dàng phát triển các ứng dụng dựa trên website

Hỗ trợ Reusable Component trong Java: Không phải developer nào cũng có thể thiết

kế những component hiệu quả Có thể tái sử dụng component mang đến cho developer cơ hội sử dụng rộng rãi những tính năng đã được tối ưu sẵn Nhờ ReactJS, developer hoàn toàn có thể sử dụng lại components đã được phát triển thành các ứng dụng khác có cùng chức năng

Dễ dàng viết component dễ dàng hơn: Để viết React component, người dùng sẽ sử dụng

JSX Đây là một sự kết hợp giữa JavaScript và HTML Tuy không phải là phần mở rộng

cú pháp phổ biến nhất, JSX được người dùng đánh giá cao khi phát triển components đặc biệt hoặc các ứng dụng có khối lượng lớn Sử dụng JSX, người dùng có thể mở rộng cú pháp với nhiều lựa chọn dễ dàng Quá trình viết cấu trúc trang web cũng rõ ràng hơn

Hiệu suất tốt hơn với Virtual DOM: Các dự án ứng dụng trên website thường dễ gặp

rắc rối trong quá trình DOM Với lợi thế sử dụng Virtual-DOM, ReactJS sẽ giúp người dùng tránh được vấn đề này Bên cạnh đó, ReactJS cũng cho phép người dùng xây dựng các Virtual DOM và host chúng trong bộ nhớ Ưu điểm này sẽ giúp Vitural thay đổi ngay khi DOM thực tế có sự thay đổi Cập nhật liên tục giúp các ứng dụng tránh tình trạng bị gián đoạn Người dùng sử dụng liên tục, website ổn định giúp doanh thu duy trì và tăng trưởng vượt bậc

Thân thiện với SEO: Đây là mong muốn của tất cả doanh nghiệp trong thời đại thương

mại điện tử sôi động hiện nay Giao diện người dùng có thể truy cập càng nhiều công cụ tìm kiếm khác nhau đồng nghĩa với khả năng tiếp cận khách hàng càng cao Đây là một trong những yếu tố ảnh hưởng trực tiếp đến sự tăng trưởng doanh thu bán hàng qua website Thực tế, không phải tất cả các khung JavaScript đều thân thiện với SEO May mắn thay, ReactJS ra đời như một lời giải cho bài toán này React cho phép bạn tạo giao diện người dùng có thể được truy cập trên các công cụ tìm kiếm khác nhau Tuy nhiên, ReactJS chỉ là một thư viện JavaScript ReactJS càng không thể tự làm mọi thứ, thay thế cho cả đội ngũ SEO, SALE hay Developer Người dùng có thể kết hợp ReactJS cùng các thư viện bổ sung cần thiết cho mục tiêu quản lý, định tuyến và tương tác

Trang 19

3 React Native

3.1 Khái niệm React Native

React Native là một framework do công ty công nghệ nổi tiếng Facebook phát triển nhằm mục đích giải quyết bài toán hiệu năng của Hybrid và bài toán chi phí khi mà phải viết nhiều loại ngôn ngữ native cho từng nền tảng di động

Chúng ta sẽ build được ứng dụng Native, và chúng ta cũng có thể build ứng dụng đó một cách đa nền tảng (multi-platform) chứ không phải là một “mobile web app”, không phải là “HTML5 app”, và cũng không phải là một “hybrid app” hay cũng không chỉ build trên iOS hay Android mà chúng ta build và chạy được cả hai hệ sinh thái

Một điểm hay ho nữa mà mình có đề cập là giảm chi phí recompile của Native bằng cách sử dụng Hot-Loading tức là bạn không cần phải build lại ứng dụng từ đầu nên việc chỉnh sửa diễn ra rất nhanh chóng Giúp cho lập trình viên có thể thấy được những chỉnh sửa của họ một cách nhanh chóng trực quan, không còn phải bỏ quá nhiều thời gian trong việc build và run ứng dụng nữa

Và điểm lợi hại kế tiếp của React Native đó chính là chúng ta chỉ cần sử dụng JS để phát triển được một ứng dụng di động hoàn chỉnh, đồng thời giải quyết được các vấn đề

mà Native App gặp phải Và còn kết hợp với code native như Swift, Java, v.v…

3.2 Ưu điểm và nhược điểm của React Native

 Xây dựng cho nhiều hệ điều hành khác nhau với ít native code nhất

 Trải nghiệm người dùng tốt hơn là hybrid app

3.2.2 Nhược điểm

 Vẫn đòi hỏi native code

 Hiệu năng sẽ thấp hơn với app thuần native code

 Bảo mật không cao do dựa trên JS

 Quản lý bộ nhớ

 Khả năng tùy biến cũng không thực sự tốt đối với một vài module

Trang 20

3.3 Điểm khác biệt của ReactJS và React Native

 Thiết lập và đóng gói (setup and bundling): Thiết lập và vận hành React Native khá nhanh chóng vì có sẵn tất cả những module cần thiết Trong khi đó, bạn cần phải xác định các module cần thiết cho ứng dụng của mình khi dùng ReactJS

 DOM và Styling: React Native không dùng HTML để render app mà cung cấp các component để thay thế Component React Native sẽ map các UI iOS hoặc Android được render trên ứng dụng

 Animations và Gestures: Thay vì CSS animation, bạn sẽ phải sử dụng JavaScript

để tạo các Component động trong React Native

 Điều hướng (Navigation): Navigator trong React Native cung cấp tất cả những

gì mà bạn cần để thực hiện việc chuyển đổi giữa các Scene trong ứng dụng

 Nền tảng code riêng (Platform specific code): React Native có khả năng phát hiện và nạp đúng code cho nền tảng được hỗ trợ

4 MySQL

4.1 Khái niệm MySQL

MySQL là hệ quản trị cơ sở dữ liệu tự do, nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là hệ quản trị

cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều

hệ điều hành, cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet Người dùng có thể tải về MySQL miễn phí từ trang chủ MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac

OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)

MySQL được sử dụng cho việc bổ trợ Node.js, PHP, Perl, và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay Perl,

4.2 Ưu điểm, nhược điểm của MySQL

4.2.1 Ưu điểm của MySQL

 Dễ sử dụng : MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và hoạt

độn trên nhiều hệ điều hành, cung cấp một hệ thống lớn các hàm tiện ích rất mạnh

 Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập CSDL

trên Internet khi sở hữu nhiều tính năng bảo mật, thậm chí là ở cấp cao

 Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được minh chờ từ một

Ngày đăng: 14/12/2022, 17:10

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