Ask HN: Best Language & Framework for GUI development
6 comments
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
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
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.
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.
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 :)