#bindings #sciter #ui #front-end #u64 #window #back-end

rsciter

Sciter 的非官方 Rust 绑定

5 个版本

0.0.6 2024年4月8日
0.0.5 2023年8月6日
0.0.4 2023年7月30日

GUI 中排名 324

Apache-2.0

240KB
6.5K SLoC

描述

Work in Progress License

这是 非官方 的 Sciter Rust 绑定

免责声明

这是一个正在开发中的库,尚未准备好用于生产环境。

rust-sciter 的区别

  • 不会 panic

  • 使用 bindgen 而不是手动编写的代码。

  • 利用 Sciter 自身的函数进行窗口/应用程序管理。

  • 主要目标不是提供完整的 Sciter API,而是简化后端(Rust)与前端(Sciter.JS UI)之间的交互。例如,导出函数就像这样

    #[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
        }
    }
    

    有关详细信息,请参阅以下示例

依赖项

~2–37MB
~567K SLoC