Miles Murgaw 18feb0b38d feat: disable drop handler (#3680) пре 4 месеци
..
assets c113d96bbe fix: Update logos and custom assets example (#960) пре 2 година
js 519ec9d294 Move the document trait into a separate crate (#3035) пре 8 месеци
ts 519ec9d294 Move the document trait into a separate crate (#3035) пре 8 месеци
android_sync_lock.rs 7ec3453ca3 Fix bundling/path errors, sidecar support, iOS/Android simulator support, asset hotreload fixes, serverfn hotrelad, native tailwind support (#2779) пре 8 месеци
app.rs 13dcd80fbf Optimize wasm bindgen asset with manganis (#3531) пре 5 месеци
assets.rs f9c2f740c2 Pull out asset handler refactor from https://github.com/DioxusLabs/dioxus/pull/2972 (#3000) пре 9 месеци
config.rs 18feb0b38d feat: disable drop handler (#3680) пре 4 месеци
desktop_context.rs 25a64d97c0 Fixed the multiple window closing issue, where the two multiwindow examples weren't working. (#3499) пре 5 месеци
document.rs d8850c7666 fix: don't have Rc cycles in DioxusElement or Queries (#3618) пре 5 месеци
edits.rs 7ec3453ca3 Fix bundling/path errors, sidecar support, iOS/Android simulator support, asset hotreload fixes, serverfn hotrelad, native tailwind support (#2779) пре 8 месеци
element.rs d8850c7666 fix: don't have Rc cycles in DioxusElement or Queries (#3618) пре 5 месеци
event_handlers.rs 94b17cc8ca Fix non tokio builds for desktop пре 1 година
events.rs 79a2f023e7 Add the `onvisible` event handler to `Element` (#2911) пре 7 месеци
file_upload.rs cda8bb24f1 Remove native and web features from dioxus-html (#3006) пре 8 месеци
hooks.rs 292f757d5d SystemTray (#3123) пре 8 месеци
index.html 7ec3453ca3 Fix bundling/path errors, sidecar support, iOS/Android simulator support, asset hotreload fixes, serverfn hotrelad, native tailwind support (#2779) пре 8 месеци
ipc.rs 292f757d5d SystemTray (#3123) пре 8 месеци
launch.rs eaf9f80abd Fix: Only Resize WebView Associated With Window (#3584) пре 5 месеци
lib.rs 25a64d97c0 Fixed the multiple window closing issue, where the two multiwindow examples weren't working. (#3499) пре 5 месеци
menubar.rs 46b0eeb12c Implement the "Toggle Developer Tools" menu item in desktop (#2198) пре 1 година
mobile_shortcut.rs 4b2e426958 clippy, and don't hash invisible files for ts generation пре 1 година
protocol.rs 03c2d6711d fix: pass off env vars to android apps (#3621) пре 5 месеци
query.rs d8850c7666 fix: don't have Rc cycles in DioxusElement or Queries (#3618) пре 5 месеци
readme.md 66a50240bc Update all docs links to 0.6, release 0.6 (#3225) пре 6 месеци
shortcut.rs 9167cd9dec fix most typos, add crate-ci/typos to CI (#2653) пре 11 месеци
trayicon.rs 292f757d5d SystemTray (#3123) пре 8 месеци
waker.rs 4b2e426958 clippy, and don't hash invisible files for ts generation пре 1 година
webview.rs 18feb0b38d feat: disable drop handler (#3680) пре 4 месеци

readme.md

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!