HACKER Q&A
📣 IndigoIncognito

Best Language & Framework for GUI development


Hello, I am looking to make a GUI application for desktop, I want it to be lightweight as it will be running during resource intensive tasks like video rendering etc

These are my requirements - Lightweight, shouldn't be resource heavy: below (75 MB Ram) and low CPU & GPU preferably

- Language shouldn't have a massive learning curve/ super esoteric

- A GUI Desktop app

- Possible to make minimalistic but nice looking UI

- Frontend and backend same language

- Supports cross-platform (Optional)

Thank you for reading my post :)


  👤 minhmeoke Accepted Answer ✓
Lazarus IDE is a strong contender: https://www.lazarus-ide.org/

There are examples and tutorials on https://www.getlazarus.org/ such as https://github.com/sysrpl/Codebot.SoundShop

Features:

- Language: Free Pascal is an Algol-like language which is very similar to C and much simpler than C++ yet still has object-oriented features (Free Pascal has been used in many introductory CS classes since it is easier to teach).

- Efficiency: https://www.quora.com/Why-is-Pascal-so-damn-memory-efficient

- Very productive integrated development environment, featuring drag and drop form designer.

- Cross-Platform: Lazarus can run on Windows, macOS, Linux, BSD, Raspberry Pi, and across many architectures: https://en.wikipedia.org/wiki/Free_Pascal#Targets

- Open Source, yet permissive: Lazarus is GPL/LGPL which permits using it in building commercial projects, unlike QT.

- I'm not sure about GPU support in Pascal, you might need to call a C foreign-function interface if you'd like to accelerate operations using CUDA or OpenCL for example.

Additional info:

- https://www.lazarus-ide.org/index.php?page=whyuse

- https://www.lazarus-ide.org/index.php?page=features


👤 Rochus
Qt meets all your requirements; everything (GUI code and business logic) can be implemented in moderate C++ (C++ 98 or higher, even "C with classes" style is ok). RAM usage is generally low (< 10 MB for most of my apps). You just need the Qt base package (Core, GUI, Widgets), and version 5 is still good enough. If you prefer C over C++ https://nappgui.com is yet another good library.

👤 benjifri
This looks like a good article / place to start researching: https://geekflare.com/build-desktop-apps-tools/. I don't know off the top of my head though unfortunately. My first thought is an Electron app but that might be more resource intensive.

👤 necovek
Considering cross-platform support is only "optional", what's the main platform you are targetting?