Jonathan Kelley 4d3d55a7a3 CLI self-updater, warn on version mismatch, direct install.sh option, androidmanifest and info.plist customization, bump to 0.7-alpha.0 (#4095) 1 lună în urmă
..
assets 4d3d55a7a3 CLI self-updater, warn on version mismatch, direct install.sh option, androidmanifest and info.plist customization, bump to 0.7-alpha.0 (#4095) 1 lună în urmă
js 9ffa42392f fix: eval (#3877) 2 luni în urmă
ts 9ffa42392f fix: eval (#3877) 2 luni în urmă
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 luni în urmă
app.rs 4d3d55a7a3 CLI self-updater, warn on version mismatch, direct install.sh option, androidmanifest and info.plist customization, bump to 0.7-alpha.0 (#4095) 1 lună în urmă
assets.rs 1ac57f1a36 fix: add lock to asset handler handle request on android (#4006) 2 luni în urmă
config.rs d976ca184a Binary patching rust hot-reloading, sub-second rebuilds, independent server/client hot-reload (#3797) 1 lună în urmă
desktop_context.rs 3da821d184 Provide `HotkeyState` on Global Shortcut Events (#3822) 2 luni în urmă
document.rs d8850c7666 fix: don't have Rc cycles in DioxusElement or Queries (#3618) 5 luni în urmă
edits.rs 7ec3453ca3 Fix bundling/path errors, sidecar support, iOS/Android simulator support, asset hotreload fixes, serverfn hotrelad, native tailwind support (#2779) 8 luni în urmă
element.rs 28d38307a2 Support scrollIntoView alignment options (#3952) 1 lună în urmă
event_handlers.rs 83ea89b88c fix comment (#3929) 2 luni în urmă
events.rs 79a2f023e7 Add the `onvisible` event handler to `Element` (#2911) 6 luni în urmă
file_upload.rs cda8bb24f1 Remove native and web features from dioxus-html (#3006) 8 luni în urmă
hooks.rs 3da821d184 Provide `HotkeyState` on Global Shortcut Events (#3822) 2 luni în urmă
ipc.rs 292f757d5d SystemTray (#3123) 7 luni în urmă
launch.rs 4d3d55a7a3 CLI self-updater, warn on version mismatch, direct install.sh option, androidmanifest and info.plist customization, bump to 0.7-alpha.0 (#4095) 1 lună în urmă
lib.rs 3da821d184 Provide `HotkeyState` on Global Shortcut Events (#3822) 2 luni în urmă
menubar.rs 650605f4d1 fix: merge conflict resulting in windows lint 3 luni în urmă
mobile_shortcut.rs 3da821d184 Provide `HotkeyState` on Global Shortcut Events (#3822) 2 luni în urmă
protocol.rs 4d3d55a7a3 CLI self-updater, warn on version mismatch, direct install.sh option, androidmanifest and info.plist customization, bump to 0.7-alpha.0 (#4095) 1 lună în urmă
query.rs 9ffa42392f fix: eval (#3877) 2 luni în urmă
readme.md 66a50240bc Update all docs links to 0.6, release 0.6 (#3225) 6 luni în urmă
shortcut.rs 3da821d184 Provide `HotkeyState` on Global Shortcut Events (#3822) 2 luni în urmă
trayicon.rs 292f757d5d SystemTray (#3123) 7 luni în urmă
waker.rs 4b2e426958 clippy, and don't hash invisible files for ts generation 1 an în urmă
webview.rs 4d3d55a7a3 CLI self-updater, warn on version mismatch, direct install.sh option, androidmanifest and info.plist customization, bump to 0.7-alpha.0 (#4095) 1 lună în urmă

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!