Slint:Rust 语言 GUI 工具库
https://github.com/slint-ui/slint
https://slint.dev/
Slint is a declarative GUI toolkit to build native user interfaces for desktop
and embedded applications written in Rust, C++, or JavaScript. The name Slint
is derived from our design goals:
- Scalable: Slint should support responsive UI design, allow cross-platform
usage across operating systems and processor architectures and support
multiple programming languages.
- Lightweight: Slint should require minimal resources, in terms of memory
and processing power, and yet deliver a smooth, smartphone-like user
experience on any device.
- Intuitive: Designers and developers should feel productive while enjoying
the GUI design and development process. The design creation tools should be
intuitive to use for the designers. Similarly for the developers, the APIs
should be consistent and easy to use, no matter which programming language
they choose.
- Native: GUI built with Slint should match the end users' expectations of a
native application irrespective of the platform - desktop, mobile, web or
embedded system. The UI design should be compiled to machine code and provide
flexibility that only a native application can offer: Access full operating
system APIs, utilize all CPU and GPU cores, connect to any peripheral.
We invite you to use Slint and be part of its community.
Current Status
Slint is in active development. The state of support for each platform is as
follows:
- Embedded: Ready Slint is being used by customers in production on embedded
devices running embedded Linux and Windows. The Slint run-time requires less than
300KiB of RAM and can run on different processor architectures such as ARM Cortex M,
ESP32, STM32 from the MCU category to ARM Cortex A, Intel x86 from the MPU category.
- Desktop: In Progress. While Slint is a good fit on Windows, Linux and Mac,
we are working on improving the platform support in subsequent releases.
- Web: In Progress. Slint apps can be compiled to WebAssembly and can run
in a web browser. As there are many other web frameworks, the web platform
is not one of our primary target platforms. The web support is currently
limited to demo purposes.
- Mobile (Android/iOS): Todo. We haven't started supporting mobile
platforms yet, but it is our intention to do so in the near future.
Accessibility
Slint supports keyboard based navigation of many widgets, and user interfaces
are scalable. The basic infrastructure for assistive technology like screen
readers is in place, but currently requires the Qt backend.
We're aware that more work is needed to get best-of-class support for users
with special needs.
已收藏至合集