Slint UI crate just released Version 0.2.2
What is Slint?
Slint is the straightforward, lightweight, native Rust UI toolkit with additional bindings to C++ and JS.
It enables you to use a declarative language to describe fluid, cross-platform UIs for WASM, desktop machines running Windows/Mac/Linux as well as #\[no\_std\] environments like microcontrollers (tested on e.g. Raspberry Pi Pico with 264KiB).
The declarative language is compiled to native code for your target language or can be evaluated live by an interpreter.
A LSP-based VSCode plugin with live preview for your UI is provided.
Slint is backed by a team of developers working full-time on the product and is available under GPL or commercial licensing terms.
Version 0.2.2
Highlights in the newly released version 0.2.2 include:
New Features
- Add a way to implement close event handlers for things like confirmation dialogs
- Add support for keyboard focus handling with Tab/BackTab and update many widgets to support that. This enables keyboard-only use of UIs.
General Improvements
- Improvements to the text rendering on micro controllers
- More robust handling of pop-up windows
- Implement better input handling on WASM to support virtual keyboards on mobile
- Improve handling of keyboard shortcuts in the text input widgets
- Reduce memory usage of UIs to better work on micro controllers
Rendering
- Speed-ups when rendering to OpenGL
- Collect rendering metrics to help optimizing UIs
- Fallback font selection was improved. You should get less missing characters in your UI now
Tooling
- A tree-sitter parser for the .slint language was added
- The LSP will resize the preview window less often to be less distracting while editing code
Documentation
- Add a page with \recipes\ for common tasks
Upcoming Work
We are currently trying to validate our ideas on how to add accessibility support to Slint applications.
Contributors
A big thank you goes out to
- \Alec Brown\
- \Jared Moulton\
- \Ray Redondo\
.. and of course our Intern \Lukas Jung\.
More Information
\Website\
\online Demos\
\github project\