-- Leo's gemini proxy

-- Connecting to tobykurien.com:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; lang=en

Re: Lightweight, Simple, and Cross-Platform GUI Programming?


In reponse to this post:

gemini://warmedal.se/~bjorn/posts/2021-11-19-lightweight-simple-and-cross-platform-gui-programming.gmi


I think Qt+QML is definitely worth a look. I used it also as part of the Blackberry Cascades app development framework back in the day, and it was one of the nicest GUI toolkits I've used. It's very easy to make components and string them together with scripting, while the C++ side is minimal and lets you inject high-performance C++ components for your GUI to use. Is it lightweight? I don't know, I tend to think it is but I haven't looked at all the dependencies a Qt/QML app might need to run.


Another option I've considered, based on my preference for the GUI side of things to be markup rather than code, now don't laugh, is JavaFX. Sure it requires the JRE, but these days the JRE is pretty slim, and if you use Graal you might be able to compile native binaries that are pretty lightweight. It's also cross-platform, really powerful, and comes with Scene Builder for designing your GUIs in WYSIWYG. Obviously if you don't like Java, this is a no-go.


https://openjfx.io/


A left-field idea I had around GUI applications is to consider going back to the days of TUI. Remember Turbo Vision? I remember it fondly, and it turns out there are still some projects keeping it alive, for example TVision and Jexer. It's very lightweight and about as cross-platform as you can get, and is responsive. This interface could probably even run on a microcontroller. I even had visions (haha get it?) of making an entire touch-screen smartphone that uses only a TUI interface - can you imagine how lightweight and fast it would be? No need for binary blob graphics drivers, etc.


https://github.com/magiblot/tvision

https://github.com/klamonte/jexer


Aaah, but I digress...


__

Home

Email me

-- Response ended

-- Page fetched on Tue May 7 22:40:49 2024