dioxus-sdk

Crates.iodioxus-sdk
lib.rsdioxus-sdk
version0.7.0-alpha.1
created_at2024-04-04 03:10:48.672258+00
updated_at2025-04-18 23:53:50.654098+00
descriptionA platform agnostic library for supercharging your productivity with Dioxus.
homepagehttps://dioxuslabs.com
repositoryhttps://github.com/DioxusLabs/sdk/
max_upload_size
id1195802
size145,989
Marc Espin (marc2332)

documentation

README

🧰 Dioxus Development Kit 🚀

Cross-platform crates for supercharging your productivity with Dioxus.

Crates.io version Download docs.rs docs

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.

Commit count: 119

cargo fmt