Chương 1: TỔNG QUAN 1. Giới thiệu đề tài Trong thời kì công nghiệp hóa hiện đại hóa hiện nay, việc ứng dụng khoa học kĩ thuật vào một việc gì đó trong đời sống là rất quan trọng, nó không chỉ giúp chúng ta tiết kiệm thời gian, chi phí, công sức mà nó còn giúp chúng ta hoàn thành tốt vấn đề đó một cách hoàn thiện. Việc học một ngôn ngữ mới cũng vậy, nó giúp chúng ta mở ra rất nhiều cơ hội về việc làm, học bổng hay du học. Đặc biệt trong thời đại cạnh tranh công công việc một cách khốc liệt như hiện nay, việc biết thêm nhiều thứ tiếng là rất quan trọng, ngoài tiếng phổ biến là tiếng Anh, tiếng Nhật cũng là xu hướng của các bạn trẻ học tập và theo đuổi.
Hiểu được và mong muốn giúp người học có thể học tiếng Nhật một cách dễ dàng, hứng thú và vui vẻ hơn. Chúng em đã tạo ra ứng dụng học tiếng Nhật, trong đó có nhiều chức năng mà người học có thể trải nghiệm cảm giác vừa học, vừa chơi, qua đó tiếp thu nhanh kiến thức dễ dàng. Tính cấp thiết của đề tài Khi người mới học hay mới tiếp cận về tiếng Nhật thì người ta sẽ không biết bắt đầu từ đâu, làm gì, và học như thế nào đặc biệt là một ngôn ngữ khó như tiếng Nhật. Vậy học tiếng Nhật có khó không? Người Nhật không sử dụng chữ La Tinh thay vào đó là chữ tượng hình, chính vì thế nó rất khó cho những người chưa tiếp xúc với chữ tượng hình.
Với người mới học thường người ta sẽ chọn một lớp học uy tín có giáo viên giảng dạy chất lượng đó là những người có thời gian, khoảng 10 năm trở lại đây với sự phát triển của điện thoại smartphone mở ra cơ hội giúp nhiều người tiếp cận và sử dụng điện thoại ngày càng có nhiều tính ứng 1 do an dụng hơn trong cuộc sống. Và học tiếng Nhật là một trong những ứng dụng mà điện thoại có thể mang lại giúp bạn học dễ dàng hơn từ cấp độ đơn giản nhất đến cấp độ nâng cao hơn, từ đó giúp bạn có thể giỏi hơn rất nhiều. Thay vì người học có thể nghe giáo viên nói trực tiếp ngay trên lớp 1 ngày 1 lần nhưng nếu sử dụng ứng dụng người học có thể nghe đi nghe lại bất kỳ lúc nào muốn, người học sử dụng ứng dụng có thể học bất cứ lúc nào muồn rất tiện lợi, có thể chủ động nó về thời gian. Chi phí cũng là một lý do để người ta sử dụng ứng dụng.
Mục tiêu đề tài - Tìm hiểu tài liệu React-native để xây dựng ứng dụng trên thiết bị di động thông minh. - Tìm hiểu NodeJS – Express để phát triển API Server. - Tìm hiểu Mongodb để phát triển database cho ứng dụng. - Phân tích, thiết kế và xây dựng ứng dụng trên Mobile với các chức năng chính như: + Màn hình đăng nhập + Màn hình đăng kí + Màn hình menu chính của ứng dụng + Màn hình thông báo + Màn hình thông tin cá nhân + Màn hình tạo khóa học + Màn hình chi tiết khóa học + Màn hình kiểm tra khóa học + Màn hình tập viết + Màn hình lịch sử các từ vựng đã học 2 do an + Màn hình bảng xếp hạng + Màn hình danh sách bạn bè + Màn hình chơi trò chơi cùng bạn bè + Màn hình bảng chữ cái 1.
Yêu cầu Ứng dụng Mobile giúp ngưởi dùng học từ vựng tiếng Nhật một cách dễ dàng và tiết kiệm thời gian nhất. Công nghệ lập trình - Chủ yếu viết bằng Javascript vì nó là một ngôn ngữ linh hoạt, giúp phát triển cả phía Client-side và Server-side. - Xây dựng ứng dụng di động trên nền tảng Android bằng công nghệ React Native và máy chủ API của ứng dụng trên nền tảng NodeJS vì cả hai đểu có một cộng đồng rất lớn giúp một người mới học tìm hiểu rất dễ dàng, cả hai đều có khả năng xử lý nhiều dữ liệu thời gian thực rất mạnh mẽ. - Ứng dụng có cơ sở dữ liệu NoSQL với công nghệ MongoDB vì có hiệu suất cao, có bản miễn phí trên nền tảng công nghệ điện toán đám mây, biểu diễn và lưu trữ dữ liệu bằng JSON hoặc BSON.
Cuối cùng là khả năng mở rộng rất cao. Phạm vi nghiên cứu - Là các công nghệ được sử dụng trong đề tài: + React Native + NodeJS + MongoDB - Khảo sát nghiệp vụ của việc học từ vựng tiếng Nhật. Phương pháp nghiên cứu - Phương pháp tổng hợp lý thuyết: + Tìm hiểu cách thức học tiếng Nhật trên các website, ứng dụng để đúc kết được những cách hay nhất của từng cái rồi dựa vào đó để phát triển tốt hơn họ. + Nghiên cứu công nghệ sử dụng trên website, trang chủ, facbook để tiếp cận nó một cách dể dàng nhất có thể.
- Phương pháp chuyên gia: + Khảo sát kinh nghiệm về tiếng Nhật, cách học, từ những người thân bạn bè có hiểu biết về tiếng Nhật hay cũng như những người đi du học ở Nhật. + Tham khảo ý kiến của những người có kinh nghiệm làm ứng dụng trên điện thoại để đề ra hướng xây dựng ứng dụng một cách đơn gian và nhanh nhất. - Phương pháp so sánh và đánh giá + Khảo sát cách giải quyết vấn đề của các ứng dụng nổi tiếng trên CH Play để đúc kết lại thành một thứ tốt nhất. - Phương pháp mô hình hóa: + Mô phỏng ứng dụng từ bước thiết kế cài đặt cho đến kết quả thành phẩm của ứng dụng.
Ý nghĩa khoa học thực tiễn. Ứng dụng giúp người sử dụng học tiếng Nhật một cách dể dàng, hiệu quả, tiết kiệm thời gian và chi phí khi chỉ cần mở ứng dụng trong điện thoại để học thay vì phải đến trường lớp trung tâm để học. Ứng dụng có nhiều trò chơi liên quan đến tiếng Nhật để giúp người dùng không bị nhàm chán khi học, có chế độ chơi với bạn bè, để tạo sự cạnh tranh giữa các người dùng, khiến cho người sử dụng ham học hơn khi sử dụng ứng dụng. 4 do an Chương 2: KHẢO SÁT HIỆN TRẠNG 2.1 Ứng dụng Quizlet Quizlet là ứng dụng học tiếng và từ vựng bằng thẻ ghi nhớ.
Ứng dụng dễ dàng trong việc rèn luyện và thành thạo nội dung học. Quizlet có thể tự tạo thẻ ghi nhớ và học phần, hoặc chọn từ hàng triệu học phần được tạo bởi các học sinh khác.1: Ứng dụng Quizlet Ưu điểm: - Dễ dàng ôn tập kiểm tra bằng chế độ Học. - Kiểm tra trí nhớ bằng chế độ Viết. - Nghe phát âm nội dung chính xác bằng 18 thứ tiếng.
- Học tập hiệu quả hơn với hình ảnh và âm thanh tùy biến. 5 do an Nhược điểm: - Khó sử dụng đối với người mới sử dụng lần đầu - Không thay đổi được thứ tự chữ - Trong phần tiếng Nhật, nên cho thêm một cột phiên âm. Như vậy việc học sẽ trở nên hiệu quả hơn 2.2 Ứng dụng English Pop Quiz English Pop Quiz là ứng dụng luyện từ vựng qua những bài kiểm tra, trò chơi đơn giản. Phù hợp với người học ở cấp độ sơ cấp tới trung bình.2: Ứng dụng English Pop Quiz Ưu điểm: 6 do an - Dễ sử dụng - Hệ thống từ vựng đa dạng, phong phú - Có nhiều cấp độ khác nhau từ sơ cấp tới trung bình Nhược điểm - Chưa có chủ đề chơi cụ thể.
Chơi rải rác các chủ đề. - Quảng cáo quá nhiều gây phiền phức cho người học 2.3 Ứng dụng AnkiDroid Hình 2.3: Ứng dụng AnkiDroid Ưu điểm: - Học thông qua Flashcard 7 do an - Có thể import dữ liệu, dễ dàng học mọi lúc, mọi nơi - Tính năng lặp lại các từ khó cao. Giúp ghi nhớ nhanh chóng Nhược điểm: - Giao diện chưa được đẹp mắt, khó sử dụng.4 Kết luận khảo sát Qua những khảo sát trên cho thấy, các ứng dụng học trên di động ngày càng phổ biến rộng rãi, chúng là một công cụ đắc lực giúp chúng ta trong việc học ngoại ngữ bất cứ ở đâu. Kinh nghiệm sau khi khảo sát: - Giao diện phải đơn giản, dễ sử dụng - Phải đưa ra được nhiều vốn từ vựng, bộ câu hỏi phong phú - Phải tạo ứng dụng hứng thú cho người dùng trong khi học từ vựng - Không nên chèn quá nhiều quảng cáo 8 do an Chương 3: CƠ SỞ LÝ THUYẾT 3.1 Giới thiệu về React Native 3.1 React Native là gì? React Native là sử dụng Javascript kết hợ p với nền tảng native (Android, iOS) để sử dụng các nền tảng đó.
Javascript chỉ là lớp bề mặt, phần nổi của ứng dụng, nó chỉ có vai trò gọi và sử dụng các thành phần native. Vì vậy để phát triển ứng dụng, bạn vẫn cần phải cài đặt môi trường phát triển. Đối với Android bạn cần: - Cài đặt JDK. - Cài đặt Android Studio.
- Thêm biến môi trường JAVA và ANDROID_HOME: là địa chỉ thư mục jdk và Android sdk của bạn. - Thêm biến môi trường adb: là địa chỉ file adb.exe chứa trong Android SDK. - Sử dụng IDE visual code 3.2 Cách hoạt động Bằng cách tích hợp 2 thread là Main Thread và JS Thread cho ứng dụng mobile. Với Main Thread sẽ đảm nhận vai trò cập nhật giao diện người dùng (UI).
Sau đó sẽ xử lý tương tác người dùng. Trong khi đó, JS Thread sẽ thực thi và xử lý code Javascript. Hai luồng này hoạt động độc lập với nhau. Để tương tác được với nhau hai Thread sẽ sử dụng một Bridge (cầu nối).
Cho phép chúng giao tiếp mà không phụ thuộc lẫn nhau, chuyển đổi dữ liệu từ thread này sang thread khác. Dữ liệu từ hai Thread được vận hành khi tiếp nối dữ liệu cho nhau.3 Ưu và nhược điểm của React Native 3.1 Ưu điểm - Tối ưu thời gian 9 do an - Hiệu năng ổn định - Tiết kiệm chi phí - Đội ngũ phát triển ứng dụng không quá lớn - Xây dựng ứng dụng ít Native code(mã riêng) nhất cho nhiều hệ điều hành khác nhau - Trải nghiệm người dùng tốt hơn khi so sánh với ứng dụng Hybrid 3.2 Nhược điểm - Hiệu năng kém hơn so với Native App - Bảo mật chưa thật sự tốt do dùng Javascript - Quản lý bộ nhớ - Tùy biến chưa thực sự tốt ở một số module 3.2 Giới thiệu về NodeJS 3.1 NodeJS là gì? NodeJS là một nền tảng chạy trên môi trường V8 JavaScript runtime - một trình thông dịch JavaScript cực nhanh chạy trên trình duyệt Chrome. Bình thường thì bạn cũng có thể tải bộ V8 và nhúng nó vào bất cứ thứ gì. NodeJS làm điều đó đối với các webserver.