Giới Thiệu Khóa Học Real Time Web Application Trong Rust [Mã - 6912 A]
Full-stack web development với Rust và websockets.
Bạn sẽ học được gì:
✓ Tạo websocket clients với yew.
✓ Tạo websocket servers với rocket.
✓ Chia sẻ Rust code giữa server và client.
✓ Xây dựng một chat frontend với yew.
WebSocket là một giao thức giao tiếp máy tính, cung cấp các full-duplex communication channel qua một kết nối TCP. WebSocket protocol cho phép tương tác giữa một trình duyệt web (hoặc ứng dụng client khác) và một web server với chi phí hoạt động thấp hơn so với các lựa chọn thay thế half-duplex như HTTP polling, tạo điều kiện thuận lợi cho việc truyền dữ liệu theo thời gian thực từ và đến server.
Rust là ngôn ngữ lập trình hệ thống mà bạn có thể sử dụng để viết các ứng dụng có hiệu suất cao. Thật là mới mẻ một cách đáng kinh ngạc với một trình biên dịch rất hữu ích.
Vì giao thức WebSocket là chìa khóa cho các ứng dụng thời gian thực, trong đó độ tin cậy và tốc độ là vấn đề quan trọng, không có gì ngạc nhiên khi Rust là lựa chọn tốt nhất để triển khai WebSocket server.
Ngoài ra, giờ đây Rust có thể chạy trên trình duyệt, nhờ WebAssugging, chúng ta cũng có thể sử dụng Rust trên client.
Điều đó có nghĩa là người ta có thể code một ứng dụng giống như chat theo thời gian thực 100% chỉ bằng Rust!
Đây là những gì chúng ta sẽ làm trong khóa học này! Chúng tôi sẽ tận dụng Tokio và Rocket ở phần back-end, yew webassembly và trunk ở phần front-end và chúng tôi sẽ tạo ra một full-stack Rust, real-time chat app. Trong khi thực hiện điều đó, chúng ta sẽ tìm hiểu cách thiết lập một WebSocket connection, gửi/nhận tin nhắn và cập nhật trạng thái ứng dụng.
Mục lục:
✓ 1. Giới thiệu.
✓ 2. Backend.
✓ 3. Frontend.
✓ 4. JSON messages.
✓ 5. Chatroom users list.
✓ 6. Changing usernames.
✓ 7. System messages.
Khóa học này dành cho ai:
✓ Các Web developer đánh giá Rust cho dự án websockets tiếp theo của họ.
✓ Các Web developer đánh giá Rust cho dự án full-stack tiếp theo của họ.
✓ Các Rust developer đang tìm cách tận dụng trình duyệt làm UI thông qua websockets.