158 karma · joined November 4, 2014
Shout out to the muda folks here and big thanks to npwoods :)
(Good move IMO nevertheless)
It’s still basic, some controls like text input need work, or customizing the focus chain.
Building blocks are there and will need further polish.
What kind of feature set do you need?
Most of us have our roots in the open source world, many (most?) of us learned coding because we were able to look at open source code, make changes to it, recompile and play with it.
We're trying to give back to the open source community and at the same time earn a living by asking the people who use Slint for proprietary apps (i.e. not giving back) to support us by purchasing a license.
Slint is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. Slint supports multiple programming languages, such as Rust, C++, and JavaScript.
SixtyFPS GmbH is the company behind Slint that provides the toolkit under a dual-licensing scheme: via Open Source on GitHub or via a commercial license for proprietary applications.
We're a small startup of passionate engineers - we enjoy innovation, being a part of the wider Open Source ecosystem, and learning.
We're looking for a passionate engineer to work in our team, developing Slint.
You can also learn more about what we do on our blog: https://slint-ui.com/blog/ Our source code is on https://github.com/slint-ui
It's not perfect though, and I think we're going to try to create binaries for download alternatively.
This particular approach (.60) is not a general purpose programming language and it's strongly typed.
It's designed for the user interface, not for writing the rest of the program in it.
I feel this is rather different from the tcl/tk applications we used to see?
Jokes aside, we added this embedding because of a specific user need.
Golang with the interpreter we well, but the RealThing(tm) would be a full code generator and binding to the runtime library. That would be awesome, but a little bit more work.
I quite like Go, it’s simplicity and GC is really convenient.
We went for dual licensing (GPL / commercial) in hope of creating a sustainable project.
We do have basic focus handling but the demos don’t really try to show that off - that’s more tailored towards touch based input at the moment. But we’d love to have a17y, full desktop like tab focused etc.
Regarding the compilation: the ability to live preview individual components or the entire design and seeing changes being applied on the fly (we have an interpreter for that) speeds the ui dev cycle a lot. Give it a try :)
In short: we try to do one thing (UI) and do it well :)
The runtime’s API is available as plain C++ API (only depends on C++ standard library), JS api in node (via neon) and Rust natively (simply a crate). It’s generally rather lightweight in terms of its surface. Instead the focus is on our compiler generating API for the input design files, to make it easy to manipulate properties or feed data models into the UI.
We’re internally using QStyle calls to produce images of controls when selecting that kind of styling at compile time, but that’s entirely encapsulated. The style you see in the wasm demos for example is entirely done using GLES accelerated primitives (such as SDF based anti-aliases rectangles).
We need to make our description a bit more precise - and we're working on comparisons. In terms of pure RAM usage (as opposed to ROM) in our experience the display resolution contributes a lot to what's left (unless there are dedicated frame buffers). So if you mention <= 64kb RAM, what kind of displays are you typically dealing with?
Generally I think we're aiming a little above LVGL/uGFX in terms of configuration, but also with with a much richer UI / features.
Vulkan support would be nice to have.
We use the excellent winit crate at the moment for input handling, so that abstracts it away for us.
At this point, the product is still in a very early alpha stage, but we are eagerly looking forward to your feedback on technical features as well as on a scalable business model.
Our short term goal is to get involved in a paid project that would require a GUI frontend and where we could make use of this project. If you have any recommendations, or if you know of any such project, we would be happy to hear from you.