Expand description

Rust bindings library for Sciter engine.

Sciter is an embeddable multiplatform HTML/CSS/script engine with GPU accelerated rendering designed to render modern desktop application UI. It’s a compact, single dll/dylib/so file (4-8 mb) engine without any additional dependencies.

Check the screenshot gallery of the desktop UI examples.

Sciter supports all standard elements defined in HTML5 specification with some additions. CSS is extended to better support the Desktop UI development, e.g. flow and flex units, vertical and horizontal alignment, OS theming.

Sciter SDK comes with a demo “browser” with builtin DOM inspector, script debugger and documentation viewer:

Sciter tools

Check https://sciter.com website and its documentation resources for engine principles, architecture and more.

Brief look:

Here is a minimal sciter app:

extern crate sciter;

fn main() {
    let mut frame = sciter::Window::new();

It looks similar like this:

Minimal sciter sample

Check rust-sciter/examples folder for more complex usage and module-level sections for the guides about:


pub use dom::Element;
pub use dom::event::EventHandler;
pub use host::Archive;
pub use host::Host;
pub use host::HostHandler;
pub use value::Value;
pub use value::FromValue;
pub use window::Window;


DOM access methods via the dom::Element.

Sciter’s platform independent graphics interface.

Sciter host application helpers.


Sciter Object Model (SOM passport).

Sciter Request API.

Export platform-dependent types used by Sciter.

UTF-8 <> UTF-16 conversion support.

Rust interface to the sciter::value.

Sciter video rendering.

High-level native window wrapper.

Windowless Sciter.


Dispatch script calls to native code. Used in dom::EventHandler implementations.

Pack arguments into a [Value] array to call Sciter script functions.

Rust string to UTF-8 conversion. See also utf::u2s.

Rust string to UTF-8 conversion. See also utf::u2s.

Rust string to UTF-16 conversion. See also utf::w2s.

Rust string to UTF-16 conversion. See also utf::w2s.

UTF-8 to String conversion.

Creates a sciter::Value (of array type) containing the arguments.

Create a sciter::Value (of map type) from a list of key-value pairs.

UTF-16 to String conversion.


Sciter graphics rendering backend.

Various global Sciter engine options.

Script runtime options.


Sciter API version.

Returns true for windowless builds.

Set the Sciter API coming from SciterLibraryInit.

Set a custom path to the Sciter dynamic library.

Set various global Sciter engine options, see the RuntimeOptions.

Set a global variable by its path to all windows.

Sciter engine version string (e.g. “”).

Sciter engine version number (e.g. 0x03030200).

Type Definitions

Builder pattern for window creation. See window::Builder documentation.