https://github.com/dioxuslabs/sdk
A library to provide abstractions to access common utilities when developing Dioxus applications.
https://github.com/dioxuslabs/sdk
Last synced: about 1 year ago
JSON representation
A library to provide abstractions to access common utilities when developing Dioxus applications.
- Host: GitHub
- URL: https://github.com/dioxuslabs/sdk
- Owner: DioxusLabs
- License: apache-2.0
- Created: 2022-11-04T04:01:13.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-12T02:47:15.000Z (about 1 year ago)
- Last Synced: 2025-04-12T02:49:09.529Z (about 1 year ago)
- Language: Rust
- Size: 262 KB
- Stars: 153
- Watchers: 9
- Forks: 16
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
🧰 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`
- [x] Theme - (Web, Windows, Mac)
- [x] Window Size
- `dioxus-time`
- [x] Sleep
- [x] Intervals
- [x] Debounce
- [x] Timeouts
- `dioxus-sync`
- [x] Channels
- `dioxus-util`
- [x] `use_root_scroll`
- [ ] Camera
- [ ] WiFi
- [ ] Bluetooth
Geolocation example:
```rust
// 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.
```toml
[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](./LICENSE-MIT) and [Apache 2.0](./LICENSE-APACHE) 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.