Skip to content

vsrs/rsciter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

Work in Progress License

This is unofficial Rust bindings for Sciter

Disclaimer

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:

About

Unofficial Rust bindings for Sciter

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages