GUI Framework on Linux

4 points by sean_con ↗ HN
Hi.

I read this page.

https://news.ycombinator.com/item?id=32398181

In general, I'd be interested in GUI applications on linux.

Right of the bat, I dont like Javascript.

I know the following about linux and GUI Programming.

1. C / C++ are sort of lingua franca and are capable of making calls in the linux OS to draw a pixel on the frame buffer.

2. I think,but dont know this : rust will get a native ui framework.

I know that Linux is going to include rust in its kernel code, at least partially from the next update.

3. I am familiar with things like wrapping a C/C++ package in other languages, such as wxwidget wrapper in D. There's also things like gambas that wraps QT or GTK

4. I know that Ruby has a native toolkit, there's scenic for elixir, there's livy for python, there's Lazarus, there's tcl/tk, there's flutter from go, and well, Java.

5. There are also things like V using a custom drawing, or Ring using Allegro/ Cairo/ SDL2.

But I really dont like Javascript or web view, I also dont like java,and I dont want to rely on google for Dart/Flutter.

But I would like to be able to program linux GUI apps, where i can have a canvas element, where i can seamlessly draw text, images, vector, 3D graphics (via Vulkan, or if Vulkan is not possible then openGL) etc .

I would also like to access the speakers and the printer.

I have already listed the UI toolkit that what I am familiar with. My question is : did I miss something?

I'd be open to all knowledge, even crazy niche language with a nice UI toolkit. I am doing it for my own use, and thus won't mind the lack of popularity so to say.

Of course, this is an open ended question and I can't ask this in stackoverflow- thus I decided to ask here. I appreciate all input.

Thank you.

5 comments

[ 3.9 ms ] story [ 26.7 ms ] thread
There is gtk and the glade tool.
Rust in the kernel has nothing to do with drivers. the big two ui frameworks are GTK (in the major version 3 and 4) and QT (In the major version 5). SDL and other write directly with X11/wayland. GTK and QT have the advantage that you can seperate the ui and the functionality in framework specific files for easier usage and at least QT has an integration of vulkan and opengl in most systems. both frameworks can handle resizing and other tasks for you. the actual language doesn't matter, since most languages have wrappers to both frameworks.
Get over your biases. Flutter is open source and will be around longer then the period where you'll be able to get value from anything based on the alternatives. Even your choice of an OS for a UI is debatable, as desktop linux leads to never ending pain.
> I really don't like Javascript or web view

You really don't like your best option

> But I would like to be able to program linux GUI apps, where i can have a canvas element, where i can seamlessly draw text, images, vector, 3D graphics (via Vulkan, or if Vulkan is not possible then openGL) etc.

Canvas element? Sounds like HTML. Text, images, vector graphics, openGL? Your browser/webview does that, plus you get webGL.

The sooner you come to grips with the fact, the better. For a solo dev, nothing is going to be easier than using a web-based UI. And unless you have a ton of free time to maintain your project, the motivation to do so, and the skills required to juggle the complexities of aging monolithic dependencies, nothing else is possible.