NodeJS - Xây dựng ứng dụng Realtime

3,492 views
3,222 views

Published on

Xây dựng ứng dụng Realtime với NodeJS

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,492
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
203
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

NodeJS - Xây dựng ứng dụng Realtime

  1. 1. NGHIÊN CỨU REAL TIME, PHONEGAP. XÂY DỰNG G AME ĐỐI KHÁNG TRỰC TUYẾN TRÊN ĐA NỀN TẢNG. GVHD: NGUYỄN PHÚC HƯNG Sinh viên: Nguyễn Minh Trí Lớp: ĐHTH8BLT - MSSV: 12084111 ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH
  2. 2. Nội dung thuyết trình 1. Tổng quan ứng dụng thời gian thực 2. Giới thiệu NodeJS, SocketIO 3. Tổng quan đa nền tảng 4. Giới thiệu Phonegap 5. Xây dựng ứng dụng 6. Kết quả đạt được
  3. 3. 1.Tổng quan ứng dụng thời gian thực Thời kì Web 1.0 Thời kì Web 2.0 - Xuất hiện công nghệ AJAX, Websoket… - Đi kèm thư viện hỗ trợ: jQuery, Prototype,… Thời kì Web hiện đại - Sử dụng công nghệ NodeJS, Socket.IO, AngularJS…
  4. 4. 1.Tổng quan ứng dụng thời gian thực Mô hình ứng dụng thời gian thực
  5. 5. Nội dung thuyết trình 1. Tổng quan ứng dụng thời gian thực 2. Giới thiệu NodeJS, SocketIO 3. Tổng quan đa nền tảng 4. Giới thiệu Phonegap 5. Xây dựng ứng dụng 6. Kết quả đạt được
  6. 6. 2. Giới thiệu NodeJS, SocketIO NodeJS - Xây dựng từ bộ thư viện Javascript V8 (by Google) - Sử dụng Javascript để lập trình cho cả Client và Server - Mô hình Non-Blocking IO - Xử lý theo hướng dự kiện (event-driven) - Nhiều thư viện hỗ trợ thông qua npm
  7. 7. 2. Giới thiệu NodeJS, SocketIO SocketIO - Là một mô hình websocket được đóng gói để chạy với NodeJS - Giữ cho Client và Server luôn ở trạng thái "keep-alive“ - Khả năng phản hồi nhanh với các yêu cầu - Hỗ trợ các ứng dụng chạy thời gian thực
  8. 8. 2. Giới thiệu NodeJS, SocketIO - Ở mô hình Non-Blocking, ứng dụng vẫn có thể tiếp tục chạy mà không bị khóa - Điều này giúp ứng dụng cải thiện được thời gian xử lý cũng như tương tác nhiều hơn với người dùng
  9. 9. Nội dung thuyết trình 1. Tổng quan ứng dụng thời gian thực 2. Giới thiệu NodeJS, SocketIO 3. Tổng quan đa nền tảng 4. Giới thiệu Phonegap 5. Xây dựng ứng dụng 6. Kết quả đạt được
  10. 10. 3.Tổng quan đa nền tảng Trên phương diện WEB - Ứng dụng có thể chạy trên các trình duyệt khác nhau Ví dụ: Trình duyệt: Chrome, Firefox, Safari, IE,… Trên phương diện rộng: - Ứng dụng chạy được trên các hệ điều hành và thiết bị khác nhau Ví dụ: Hệ điều hành: Windows, iOS, Android, Thiết bị: PC, Mobile, Wearable,…
  11. 11. 3.Tổng quan đa nền tảng Native Application: - Là những ứng dụng được xây bằng ngôn ngữ lập trình tương ứng với nền tảng Ví dụ: iOS (Object-C), Android (Java), WindowsPhone (C#) Web Application: - Là các ứng dụng được xây dựng trên nền tảng Web (điển hình là HTML5 Hybird Application: - Là ứng dụng lai giữa 2 khái niệm Native App và Web App trên. Ví dụ: Ứng dụng Native mở một WebView nằm bên trong ứng dụng
  12. 12. 3.Tổng quan đa nền tảng - Đòi hỏi phải tốn nhiều thời gian và công sức - Xây dựng ứng dụng đa nền tảng là thách thức lớn đối với các nhà phát triển
  13. 13. Nội dung thuyết trình 1. Tổng quan ứng dụng thời gian thực 2. Giới thiệu NodeJS 3. Tổng quan đa nền tảng 4. Giới thiệu Phonegap 5. Xây dựng ứng dụng 6. Kết quả đạt được
  14. 14. 4.Giới thiệu Phonegap - Được Adobe mua lại từ Nitobi (nhà phát triển ban đầu) vào 10/2011 - Là công cụ hỗ trợ phát triển ứng dụng đa nền tảng - Ví dụ: iOS, Android, WindowsPhone, Bada, WebOS… - Sử dụng HTML, CSS và JavaScript xây dựng ứng dụng - Hoàn toàn miễn phí
  15. 15. 4.Giới thiệu Phonegap - Sử dụng Cordova dể tương tác với các thành phần bên dưới của ứng dụng - Giúp ứng dụng sử dụng được các tài nguyên thiết bị mà không cần thông qua native code
  16. 16. Bảng tính năng Phongap hỗ trợ - Đa số các tài nguyên trên 2 hệ điều hành có thị trường lớn nhất hiện nay là iOS và Android đều được hỗ trợ đây đủ - Những tính năng trên các nền tảng khác vẫn đang được phát triển theo từng ngày
  17. 17. 4.Giới thiệu Phonegap Ứng dụng được đóng gói và đưa sang các nền tảng khác nhờ Phonegap
  18. 18. Nội dung thuyết trình 1. Tổng quan ứng dụng thời gian thực 2. Giới thiệu NodeJS 3. Tổng quan đa nền tảng 4. Giới thiệu Phonegap 5. Xây dựng ứng dụng 6. Kết quả đạt được
  19. 19. 5.Xây dựng ứng dụng - Kết hợp NodeJS và Phonegap để xây dựng một game đối kháng theo thời gian thực và trên đa nền tảng với yêu cầu sau: - Khả năng tương tác và phản hồi nhanh (real time) khi người chơi thực hiện thao tác trên hệ thống - Chạy được trên các nền tảng khác nhau (cross platform) ở môi trường Web cũng như là những thiết bị động phổ thông (Mobile, Tablet…)
  20. 20. 5.Xây dựng ứng dụng Chức năng chính của hệ thống:  Đăng nhập / đăng ký người chơi mới  Hệ thống phòng chia theo từng cấp độ  Game đối kháng đua xe Chức năng thống kê:  Thống kế số trận đấu của những người tham gia game  Thống kê số lượt người dùng truy cập trong ngày  Thống kê số lượt người dùng đang trực tuyến
  21. 21. 5.Xây dựng ứng dụng Game: Lưu trữ thông tin các game Room: Lưu trữ danh sách phòng Racer_Result: Lưu trữ các kết quả của người chơi Racer_Text: Lưu trữ các đoạn text User: Lưu trữ thông tin của người dùng
  22. 22. 5.Xây dựng ứng dụng Mô hình Usecase - Người dùng phải đăng nhập để có thể sử dụng hệ thống nếu chưa có tài khoản phải đăng ký mới. - Sau khi đăng nhập người dùng có thể chọn bàn phù hợp để bắt đầu chơi - Các kết quả chơi được của người dùng được lưu lại để người dùng có theo dõi những lần kế tiếp
  23. 23. 5.Xây dựng ứng dụng Sơ đồ Class - Ở mô hình client-server này với mỗi hàm ở phía client sẽ có 1 hàm xử lý bên phía server tương ứng (theo hướng sự kiện) - Cấu trúc truyền nhận dữ liệu giữa 2 bên client – server phải được thống nhất để tránh thất thoát và sai lệch dữ liệu khi truyền nhận - Lớp liên quang đến quản lý người dùng được tách biệt với các lớp xử lý chức năng
  24. 24. Nội dung thuyết trình 1. Tổng quan ứng dụng thời gian thực 2. Giới thiệu NodeJS 3. Tổng quang đa nền tảng 4. Giới thiệu Phonegap 5. Xây dựng ứng dụng 6. Kết quả đạt được
  25. 25. 6. Kết quả đạt được Ưu điểm - Ứng dụng được xây dựng gọn và nhẹ được quản lý bởi socket.io. - Cho phép nhiều người cùng tham gia và tương tác thời gian thực - Cách chơi mới lạ và độc đáo kích thích sự ganh đua - Được tích hợp trên nhiều nền tảng nên rất dễ dàng để tiếp cận với nhiều người dùng (Web hoặc thiết bị di động).
  26. 26. 6. Kết quả đạt được Khuyết điểm - Chưa liên kết với các mạng xã hội để tăng tính tương tác. - Ứng dụng còn đơn giản, chưa xây dựng các chức năng thống kê theo dõi hành vi của từng người chơi. - Các vấn đề bảo mật dữ liệu chưa được quan tâm trong ứng dụng.
  27. 27. 6. Kết quả đạt được Hướng phát triển - Phát triển thêm các game khác dựa trên mô hình ứng dụng theo thời gian thực để làm phong phú hệ thống - Tích hợp với mạng xã hội để tăng tính tương tác giữa các người chơi với nhau như: Facebook, Twitter, Zing - Xây dựng các hệ thống vật phẩm trong game, hệ thống thanh toán trực tuyến để sản phẩm có thể được thương mại hóa
  28. 28. CÁM ƠN QUÝ THẦY CÔ VÀ CÁC BẠN ĐÃ THEO DÕI THUYẾT TRÌNH Bài thuyết trình đang được chia sẽ tại: http://www.slideshare.net/minhtringuyen1709

×