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.
dioxus-storage
dioxus-geolocation
- Web & Windowsdioxus-notifications
- Desktopdioxus-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}" } )
}
}
}
You can add dioxus-sdk
to your application by adding it to your dependencies.
[dependencies]
dioxus-sdk = { version = "0.7", features = [] }
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 |
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.