

Slint 1.0: The Next-Generation Native GUI Toolkit Matures
source link: https://slint-ui.com/blog/announcing-slint-1.0.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Slint 1.0: The Next-Generation Native GUI Toolkit Matures
April 3, 2023 The Slint TeamWe'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.
Why Slint?
Energy Monitor Demo
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.
Tooling
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.
Code completion and live-preview in action
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



Gallery showing native controls on Linux (Plasma), macOS, and Windows
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.

Lightweight
Printer Demo on a RP2040 with 264KB of RAM
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.
Future-Proof
Slint is implemented entirely in Rust. At the same time, we acknowledge that most code for applications out there has been written in different programming languages. Hence, we designed Slint such that the application logic can be written in multiple programming languages. Currently Slint provides APIs for C++, JavaScript, and Rust. Support for other programming languages is on the way.
C++ programmers use Slint's modern C++ API and CMake integration.
JavaScript programmers can try the beta-version of our NodeJS package.
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.
Acknowledgements
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.
Get Started
- 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:
Recommend
-
14
extra-crunch-eExtra CrunchAs launch market matures, space opportunities on the ground take offDevin Coldewey
-
9
Grafische User-Interfaces: SixtyFPS-Toolkit aus Berlin als Slint überarbeitet Das in Rust implementierte Toolkit der Entwickler mit Wurzeln in KDE und Qt ist in Version 0.2 erschienen und verab...
-
6
31 lines (19 sloc) 1.4 KB Contributing We warmly welcome contributions to the project. Let's discuss ideas or questions in
-
8
README.md
-
3
Slint Widget Gallery Demo (Web Assembly version)Slint Gallery This is the Slint UI Widget Gallery Demo compiled to WebAssembly. It demonstrates different re-usable graphical elements....
-
1
Slint 0.3.0 We're proud to announce the release of Slint version 0.3.0, with many new features and APIs. Let's look at the highlights: Platform API for Microcontrollers Ear...
-
9
-
6
The Raspberry Pi Pico and...
-
14
Leap 15.5 Release Matures, Sets Up Technological Transition 7. Jun 2023 | Douglas DeMaio | CC-BY-SA-3.0
-
3
Slint 1.0 with Tobias Hunger Posted Fri, 09 Jun 2023 15:06:00 +0000 Allen Wyma talks with Tobias Hunger, developer on Slint
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK