Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Real Time Web Applications In Rust

Posted By: ELK1nG
Real Time Web Applications In Rust

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

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