76

Sorry for the somewhat noob question, but how do you pick a library for making a GUI for your apps? My background is in physics, so most of my programming is perfectly find with a CLI that outputs a graph as a ps file or some csv. I am looking to learn about making some neat little GUIs. I was thinking it would be a good idea to try and build my GUI out of the browser so that my app can be as portable as possible, but does this mean it has to be in Javascript or can the backend be done in anything else?

I am not really sure what I am asking, but wanted to get a feel for how people approach front ends.

Thanks :)

you are viewing a single comment's thread
view the rest of the comments
[-] FizzyOrange@programming.dev 7 points 3 months ago

What language are your apps written in? Generally the best options are:

  1. Qt (C++) or PyQt (Python wrapper if you hate yourself). Old school desktop GUI. Works extremely well though.
  2. Web based, then you can pick from a gazillion frameworks, most popular is React. You generally have a Typescript based frontend and a backend in whatever language you want. The downside is you have to deal with the frontend/backend communication which can be a pain.

There's also Flutter which is pretty nice, but again you have to use Dart for the GUI so if the rest of your app is in another language you'll have some friction.

But yeah, I would say the language you want to write your "business logic" in is the biggest factor to choosing. Also if you care about exposing your app over the web.

[-] InternetCitizen2@lemmy.world 1 points 3 months ago

I'm a bit if a python guy but I'm split between java and up and coming rust for employment purposes.

[-] calcopiritus@lemmy.world 2 points 3 months ago

For rust I use iced, as it meets all my needs and is a delight to work in. I don't think it's good for making graphs though. For graphs I heard that people like matplotlib (in python), which you can also use inside PyQt apps. I've tried using matplotlib and did not enjoy the experience at all, but I don't know of any alternatives.

[-] FizzyOrange@programming.dev 1 points 3 months ago

For Python PyQt is the obvious choice. For Rust there isn't really a mature option yet. Egui is decent, but it's immediate mode which isn't to everyone's taste. Dioxus is pretty popular too but I haven't used it.

No idea for Java. Is Swing still the standard?

this post was submitted on 21 Sep 2024
76 points (100.0% liked)

Programming

17691 readers
253 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS