Fullstack GUI library for web, desktop, mobile, and more. In Rust using a HTML + CSS renderer built on top of Servo.
We’ve been using Leptos at work, which is a similar framework (and probably shares half the stack with Dioxus).
And yeah, it’s really good. My favorite thing about using Rust for the UI is algebraic data types.
So, in Rust when you call a function which can fail, there isn’t an exception being thrown, but rather you get a Result
-type as return value.
This Result
can either contain an Ok
with the actual return value inside. Or it can contain an Err
with an error message inside.
So, in your UI code, you just hand this Result
all the way to your display code and there you either display the value or you display the error.
No more uninitialized variables, no more separate booleans to indicate that the variable is uninitialized, no more unreadable multi-line ternaries.
It just becomes so much simpler to load something from the backend and display it, which is kind of important in frontend code.