#dioxus #hook #sdk #desktop #component #bluetooth #channel #interval

dioxus-sdk

A platform agnostic library for supercharging your productivity with Dioxus

5 releases (3 breaking)

Uses new Rust 2024

new 0.7.0-alpha.1 Apr 18, 2025
0.6.0 Dec 7, 2024
0.5.1 Oct 27, 2024
0.5.0 Apr 5, 2024
0.0.0 Apr 4, 2024

#292 in GUI

Download history 28/week @ 2024-12-29 120/week @ 2025-01-05 166/week @ 2025-01-12 139/week @ 2025-01-19 121/week @ 2025-01-26 281/week @ 2025-02-02 241/week @ 2025-02-09 196/week @ 2025-02-16 262/week @ 2025-02-23 235/week @ 2025-03-02 333/week @ 2025-03-09 398/week @ 2025-03-16 336/week @ 2025-03-23 971/week @ 2025-03-30 1205/week @ 2025-04-06 1023/week @ 2025-04-13

3,551 downloads per month
Used in 9 crates (2 directly)

MIT/Apache

76KB
489 lines

🧰 Dioxus Development Kit 🚀

Cross-platform crates for supercharging your productivity with Dioxus.


These crates are still under development. Expect breaking changes!


dioxus-sdk is a development kit for Dioxus that provides cross-platform APIs for your Dioxus app. SDK is organized into many different crates accessible through the dioxus-sdk crate with the corresponding feature flags.

Features

  • dioxus-storage
  • dioxus-geolocation - Web & Windows
  • dioxus-notifications - Desktop
  • dioxus-window
    • Theme - (Web, Windows, Mac)
    • Window Size
  • dioxus-time
    • Sleep
    • Intervals
    • Debounce
    • Timeouts
  • dioxus-sync
  • Channels
  • dioxus-util
  • use_root_scroll
  • Camera
  • WiFi
  • Bluetooth

Geolocation example:

// dioxus-geolocation= { version = "*" }
use dioxus::prelude::*;
use dioxus_geolocation::{
    init_geolocator, use_geolocation, PowerMode
};

#[component]
fn App() -> Element {
    let geolocator = init_geolocator(PowerMode::High).unwrap();
    let coords = use_geolocation();

    match coords {
      Ok(coords) => {
        rsx!( p { "Latitude: {coords.latitude} | Longitude: {coords.longitude}" } )
      }
      Err(Error::NotInitialized) => {
        rsx!( p { "Initializing..." } )
      }
      Err(e) => {
        rsx!( p { "An error occurred {e}" } )
      }
    }
}

Usage

You can add dioxus-sdk to your application by adding it to your dependencies.

[dependencies]
dioxus-sdk = { version = "0.7", features = [] }

Dioxus Compatibility

This table represents the compatibility between this crate and Dioxus versions. The crate version supports a Dioxus version up until the next crate version in the table.

E.g. if crate version 0.1 supported Dioxus 0.6 and crate version 0.4 supported Dioxus 0.7, crate versions 0.1, 0.2, and 0.3 would support Dioxus 0.6.

Crate Version Dioxus Version
0.7 0.6
0.5 0.5

License

This project is dual licensed under the MIT and Apache 2.0 licenses.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in dioxus-sdk or any of it's crates, by you, shall be licensed as MIT or Apache 2.0, without any additional terms or conditions.

Dependencies

~0–43MB
~614K SLoC