NodeJS - Xây dựng ứng dụng Realtime
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 591 views

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

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

Statistics

Views

Total Views
591
Views on SlideShare
586
Embed Views
5

Actions

Likes
0
Downloads
47
Comments
0

1 Embed 5

http://lamwebnhanh.net 5

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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
  • 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
  • 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…
  • 1.Tổng quan ứng dụng thời gian thực Mô hình ứng dụng thời gian thực
  • 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
  • 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
  • 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
  • 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
  • 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.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,…
  • 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
  • 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
  • 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
  • 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í
  • 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
  • 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
  • 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
  • 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
  • 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…)
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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).
  • 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.
  • 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
  • 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