We're thrilled to announce version 1.0 of Slint, a comprehensive toolkit to build native user interfaces for desktop and embedded devices, implemented in Rust. This is a major milestone, the result of three years of work by 50 contributors. Compared to the previous release, version 1.0 introduces only minor API cleanups and bug fixes. For full details refer to the ChangeLog.
Development of Slint (initially known as "SixtyFPS") started in May 2020 to address the needs of modern user interface (UI) development. Having worked tirelessly to build and refine it, we're proud to have reached the stage where paying customers and open-source users are selecting Slint over other UI toolkits to build their applications. The 1.x series signifies that Slint has now graduated out from "development mode" and is ready to be used in production projects.
Slint stands out as a next-generation GUI toolkit: We built it from the ground up with scalability, inclusivity, toolability, and cross-platform compatibility in mind.
Streamlined UI Development
Slint uses declarative programming to streamline development of the UI. Our approach to optimize application development and performance is:
- The UI is described in a declarative language using a syntax that provides an extensive way to describe the various graphical elements while being easy to read, write and learn,
- The Slint compiler optimizes and translates the UI description to native code,
- Business logic, which you can write in any language, is connected with the UI using the language specific APIs provided by Slint.
To speed up the UI development process, Slint comes with tooling support for code completion, navigation, refactoring, and syntax highlighting. As you develop and refine the UI, Slint's live-preview shows the changes in real-time to provide a instant feedback.
If you're using Visual Studio Code, you can install the Slint extension directly from the VS Code marketplace. It works for VS Code for macOS, Linux, and Windows, as well as VS Code for the Web. For integration into other IDEs via the Language Server Protocol, see the instructions in the README.
You can also try out Slint in your web browser with SlintPad - an online editor with live-preview.
Native on Many Platforms
With Slint, you can develop UIs for various operating systems and processor architectures.
- Linux (desktop and embedded), macOS, Windows, WebAssembly, Blackberry QNX, and even bare metal (without any OS).
- ARM Cortex-M and Cortex-A, Intel x86, RISC-V, Cadence Tensilica, and more.
- Software rendering or hardware-accelerated graphics APIs, such as OpenGL ES.
Slint is a good fit for building desktop applications for Windows, macOS, and Linux, and we're working on features that will provide an even better, seamless look and feel.
Thanks to the portable code base, you can check out our demos directly in your web browser - via WebAssembly.
Graphical applications built with Slint can run on systems with less than 300 kB of RAM, such as the Raspberry Pi Pico that comes with a 264kB internal RAM and an ARM Cortex-M0+ processor. This makes Slint a great fit for developing the UI of applications for embedded devices.
- C++ programmers use Slint's modern C++ API and CMake integration.
- Rust programmers use the Slint crate with Cargo.
Open Source Business Model
At SixtyFPS GmbH, the company behind Slint, we're committed to transparency: We develop Slint as an open-source project on GitHub, where we publish the code, track issues, discuss our roadmap, accept contributions, and grow our community.
To fund the development, we rely on a sustainable business model based on dual-licensing. In this model, Slint is available under the GPLv3 open-source license and a proprietary license. The proprietary license is free-of-charge under the Ambassador license. For paid options, you can refer to the licensing section and the licensing FAQs.
Regardless of the license you choose, open source or proprietary, you can buy premium support in case you need any help from us for your project.
The Road Ahead
We'll keep adding new features in future 1.x releases and also commit to maintaining backwards compatibility. If you're curious about upcoming features, you can check our GitHub Issues page.
- Graphical Editor for Designers
Our vision is to enable designers and developers to collaborate on the same UI files, to streamline the product development process. Consequently, we're working on a graphical editor for designers to drag and drop widgets and elements to build the UI.
- Native UI for Mobile Apps
We plan to extend Slint to support iOS and Android so that mobile app developers can use Slint to build native apps.
- More Programming Languages
We're evaluating other programming languages, such as Python and Go, that Slint should provide APIs for.
Nothing great has been built alone and without the support of our community, we wouldn't have reached this milestone. Thank you everyone for your contributions, feedback, and words of encouragement, all of which have kept us motivated and fuelled to reach the project goals. A special shout out goes to our code contributors and ambassadors.
Spread the Word
Thanks to your love, we were featured as one of the top 50 OSS startups in 2022. We need your help so that we can continue to be featured on that list for this year. Please star us on GitHub and help us spread the word within your network and across developer forums.
- Check out our online demos.
- Head to our documentation site to learn about the Slint language and APIs.
- Follow us on Twitter, Mastodon, or LinkedIn.
If you run into any issues or notice missing functionality, please don't hesitate to let us know. We would love to get your feedback. You can get in touch with us via GitHub discussions, email, or via chat on our Mattermost.
We are also following the discussions on reddit and Hacker News: