Slint, a toolkit for creating graphical interfaces

slint

Slint, a comprehensive toolset for creating native user interfaces for desktop and embedded devices,

The launch of the first significant version of the Slint GUI toolkit, which summarizes three years of work on the project. Version 1.0 is positioned as ready to start using in work projects.

The The main objectives of the project are the low consumption of resources, the ability to work with screens of any size, provide a convenient development process for both programmers and designers, and ensure portability between different platforms.

Of the platforms, sLinux, Windows, macOS, Blackberry QNX are supported, WebAssembly pseudocode assembly possible to run in a browser or build standalone applications that do not require an operating system. There are plans to provide the ability to create mobile apps for the Android and iOS platforms. For example, Slint-based applications can run on a Raspberry Pi Pico board equipped with an ARM Cortex-M0+ microcontroller and 264KB of RAM.

Slint uses declarative programming to speed up user interface development. Our approach to optimizing application development and performance is:

The user interface is described in a declarative language using a syntax that provides a comprehensive way to describe the various graphical elements while being easy to read, write, and learn.
The Slint compiler optimizes and translates the UI description into native code,
The business logic, which you can write in any language, is connected to the user interface using the language-specific APIs provided by Slint.

Slint comes with a markup language designed specifically for user interfaces. This language is easy to learn, read, and write, and provides a powerful way to describe graphical elements, their location, and the flow of data through the different states. It is a familiar syntax for describing the hierarchy of elements and property bindings.

the interface is defined using a special declarative markup language “.slint”, which provides a syntax for describing various graphical elements (one of Slint's authors was once responsible for the QtQml engine at the Qt Company).

All the Interface descriptions in the Slint language are compiled into the native code of the target platform. The logic for working with the interface is not tied to Rust and can be defined in any programming language; Currently, the API and tools for working with Slint are ready for Rust, C++, and JavaScript, but support for additional languages ​​such as Python and Go is planned.

Slint comes with tool support for code completion, browsing, refactoring, and syntax highlighting. As you develop and refine the user interface, Slint's live preview shows changes in real time to provide instant feedback.

Se provide multiple backends for the output, allowing you to use Qt, OpenGL ES 2.0, Skia, and rendering software to render without plugging in third-party dependencies.

To simplify development, an addition to Visual Studio Code is offered, an LSP (Language Server Protocol) server for integration with various development environments and a SlintPad online editor. Plans include the development of a visual interface editor for designers, which allows creating an interface by dragging and dropping widgets and elements in drag and drop mode.

Finally, if you are interested in being able to know a little more about it, you can consult the details In the following link.

For interested in this toolkit, they should know that it is written in Rust and licensed under the GPLv3 or commercial license (for use in proprietary products without open source). The toolkit can be used both to create graphical applications for stationary systems and to develop interfaces for embedded devices.

The project is being developed by Olivier Goffart and Simon Hausmann, former KDE developers who worked on Qt at Trolltech.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.