Real time web applications in Rust
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.
Who this course is for:
- 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
Instructor
Software engineer with more than a decade of experience in developing and architecting web applications.
Experienced with languages including PHP, JS, Python and Go, working with relational or NoSQL databases like mySQL, PostgreSQL, Elasticsearch and Redis.
The past few years in love with Rust, its evolving web ecosystem and awesome community.