Real Time Web Applications In Rust
Published 12/2023
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.41 GB | Duration: 4h 15m
Published 12/2023
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.41 GB | Duration: 4h 15m
Full-stack web development with Rust and websockets
What you'll learn
Creating websocket clients with yew
Creating websocket servers with rocket
Sharing Rust code between server and client
Building a chat frontend with yew
Requirements
Good knowledge of Rust
Web development essentials (HTML, JSON)
Some experience with DOM handling and browser events
Description
WebSocket is a computer communications protocol, providing full-duplex communication channels over a single TCP connection. The WebSocket protocol enables interaction between a web browser (or other client application) and a web server with lower overhead than half-duplex alternatives such as HTTP polling, facilitating real-time data transfer from and to the server.Rust is a systems programming language which you can use to write applications with high performance. It is amazingly refreshing with a very helpful compiler who is your mentor since the very beginning.Given that the WebSocket protocol is key for real-time applications, where reliability and speed matter, it is no wonder that Rust is the best option for implementing WebSocket servers.Also given that Rust can now run in the browser, thanks to WebAssembly, we can also use Rust on the client.Which means that one can code a real-time, chat-like application 100% in just Rust!This is what we will do in this course! We will leverage Tokio and Rocket in the back-end, yew webassembly and trunk in the front-end and we will end up with a full-stack Rust, real-time chat app. While doing that we will learn how to set-up a WebSocket connection, send/receive messages and update out application state.
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Local setup
Lecture 3 Gitlab repository
Section 2: Backend
Lecture 4 Rocket setup
Lecture 5 Stream split
Lecture 6 Atomic user ID and rocket state
Lecture 7 Mutex and locks
Lecture 8 ChatRoom implementations
Section 3: Frontend
Lecture 9 Yew setup
Lecture 10 Hooks and websocket connection
Lecture 11 Message sending
Lecture 12 Bootstrap styling
Section 4: JSON messages
Lecture 13 ChatMessage contract
Lecture 14 Backend and JSON
Lecture 15 Frontend and JSON
Section 5: Chatroom users list
Lecture 16 Websocket message types
Lecture 17 Broadcasting user list
Lecture 18 User list component
Section 6: Changing usernames
Lecture 19 Username change message type
Lecture 20 Storing the username
Lecture 21 Username change FE logic
Lecture 22 Username change BE logic
Section 7: System messages
Lecture 23 Username changed system message
Lecture 24 System messages styling
Web developers evaluating Rust for their next websockets project,Web developers evaluating Rust for their next full-stack project,Rust developers looking to leverage the browser as a UI via websockets