Rust web slideshow

A comparison of Rust web app libraries using a simple slideshow as an example.

Backend

To start the backend use the IntelliJ run configuration or cargo run --bin backend.

Sdk

The glue to make sure frontend and backend are compatible.

Libraries

Dioxus (dye•ox•us)

To start the dioxus frontend use dioxus serve --port 8081. Then browse to http://localhost:8081

Website

dioxus-app

Pros

  • typesafe
  • very similar to React
  • great Guide
  • very little magic, leverages Rust i.e. UseState is just a smart Rc
  • ergonomic macros i.e. #[inline_props]
  • dedicated batteries included cli (dioxus serve)
  • hot reloading
  • cli (dioxus fmt) to format code in macros
  • highly performant and lightweight
  • one codebase, every platform
  • large community

Cons

  • not fully mature yet
  • heavy reliance on Procedural Macros

Sycamore

To start the sycamore frontend use trunk serve --port 8082. Then browse to http://localhost:8082