This is unofficial Rust bindings for Sciter
This is a work in progress library and is not yet ready for production use.
Differencies from rust-sciter
-
Never panics
-
Uses bindgen instead of hand-written code.
-
Utilizes Sciter's own functions for windows/application management.
-
The primary goal is not to provide a complete Sciter API, but to simplify the interaction between the backend (in Rust) and the frontend (Sciter.JS UI). For example, exporting functions is as easy as:
#[rsciter::xmod] // mark the module, that's it! mod NativeModule { pub fn append_log(id: u64, message: &str) { ... } pub fn user_name() -> String { ... } }
struct StatefullApi { state: u64, } #[rsciter::xmod] // or struct impl block impl StatefullApi { pub fn sum(&self, a: u64, b: u64) -> u64 { a + b + self.state } pub fn update(&mut self, a: u64) { self.state = a; } pub fn state(&self) -> u64 { self.state } }
For details, see this samples: