* Update dependencies in Cargo.lock * added in the missing bevy example which was included in recent merge * undo unneccessary library installation in gh actions * cleaned up further * Update dependencies in Cargo.toml and Cargo.lock askana_escape to 0.13 * updated code to make tests work * updated the wgpu texture example * replaced all direct reference with use * fixed wgpu and jsframework errors in benches and examples * Fix: Import black_box from std::hint * grand finale upgrade * updated cargo.lock * Bump hyper-util to 0.1.15 and plist to 1.7.4 * remove some unused swc dependencies and add a command to update them in the future --------- Co-authored-by: Evan Almloff <evanalmloff@gmail.com> Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
Dioxus Desktop Renderer
Render the Dioxus VirtualDom using the platform's native WebView implementation.
Desktop
One of Dioxus' flagship features is the ability to quickly build a native desktop app that looks and feels the same across platforms. Apps built with Dioxus are typically <5mb in size and use existing system resources, so they won't hog extreme amounts of RAM or memory.
Dioxus Desktop is built off Tauri. Right now there aren't any Dioxus abstractions over the menubar, handling, etc, so you'll want to leverage Tauri - mostly Wry and Tao directly. An upcoming release of Dioxus-Desktop will include components and hooks for notifications, global shortcuts, menubar, etc.
Getting Set up
Getting Set up with Dioxus-Desktop is quite easy. Make sure you have Rust and Cargo installed, and then create a new project:
$ cargo new --bin demo
$ cd app
Add Dioxus and the desktop renderer feature:
$ cargo add dioxus
$ cargo add dioxus-desktop
Edit your main.rs:
// main.rs
use dioxus::prelude::*;
fn main() {
dioxus_desktop::launch(app);
}
fn app() -> Element {
rsx! {
div {
"hello world!"
}
}
}
To configure the webview, menubar, and other important desktop-specific features, checkout out some of the launch configuration in the API reference.
Future Steps
Make sure to read the Dioxus Guide if you already haven't!