Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
slint
Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.
-
qskinny
A lightweight framework on top of the Qt scene graph and only few classes from Qt/Quick. It is usable from C++ and/or QML.
> How would a user interface written in a functional language look?
Maybe you're not aware of Elm?
Elm is really functional, unlike the likes of React that are just partially, kind of functional.
There's an attempt at bringing Elm to the desktop, the Roc language... here's an UI example written in Roc:
https://github.com/roc-lang/roc/blob/main/examples/gui/hello...
> How would a user interface written in a functional language look?
Maybe you're not aware of Elm?
Elm is really functional, unlike the likes of React that are just partially, kind of functional.
There's an attempt at bringing Elm to the desktop, the Roc language... here's an UI example written in Roc:
https://github.com/roc-lang/roc/blob/main/examples/gui/hello...
I beg to differ, QML is great. I'm implementing a feature that converts all tasks in Markdown editor to a Kanban view (written in QML) and it's been so easy to do. Work in progress GIF here: https://imgur.com/a/sZNHnp6
And it's even crazier that most of it compiles to C++. It's so fast to develop with it, and runs so fast.
BTW, source code here: https://github.com/nuttyartist/notes/pull/574
True, some modules are under the GPL only. Here[0] is a very nice website showing an overview.
As for alternatives there really is not much to choose from. For small projects which are not reliant on the performance/native designs of Qt Dear ImGui looks nice[1]. But it is very much tailored for a different Use Case.
Shameless plug for an alternative to Qt I've been working on: Slint https://slint-ui.com
That's exactly what we are doing with QSkinny: https://github.com/uwerat/qskinny, we have been using it for a customer project for years now...