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 :)

4 points

You may be interested in MatPlotLib for Python and maybe something like mpld3 to get it to the browser. I’ve been trying a few frameworks out recently, so I’ve seen a few Python options that use the browser as their main window. NiceGUI has a browser front end and graphing that may be able to do what you want as well, but there are others you can find. You might look for tutorials on YouTube if you’re having trouble deciding, to see how difficult it is to learn and work with. If you know any c++, there’s a long but descriptive list of frameworks available on GitHub, sorted into categories, that could help narrow those options down. It probably depends a lot on what you already know, but there are more options than JavaScript. You have a lot of good keywords to narrow down a search. <Your language> GUI or graphing framework browser frontend open source (no license)

permalink
report
reply
1 point

The matplot lib thing sounds really cool. I used to use python a lot.

permalink
report
parent
reply
6 points

Making a web app is a mistake 9 times out of 10, particularly when dealing with larger datasets. Because you’re in physics, you probably want to skills you’re learning to be transferable into physics and data science in general.

I recommend starting with python (if you know it already, awesome), then checking out pyqtgraph – there’s a bunch of demo apps that come with the package and you can use those as launch points. This will be your gateway into pyqt/pyside and legit desktop application development. Later, if you learn C++, you can transition into Qt (and still use all the power of the toolkit and the skills are transferable), or into raw C++ which is amazing for numerical computing.

permalink
report
reply
2 points

This. But it needs to be pointed out that your app may suffer from segmentation faults if you use C++. Rust is hard to work with as of right now. You should go with PyQt or Electron.

permalink
report
parent
reply
1 point

Electron for physics apps? Yuck! that’s basically just web dev with local hosting. Like, try six million datapoints and plotting them in electron.

permalink
report
parent
reply
2 points
*
Deleted by creator
permalink
report
reply
3 points

As a C# programmer, I like to make desktop GUIs with WPF or Avalonia. Web is also possible with asp.net, but I don’t like it as much.

permalink
report
reply
12 points

Time, experience and a lot of mistakes. Everyone who has been programming/scripting has made their fair share of mistakes along their journey.

Sometimes you just have to pick one, start it and see how it goes.

permalink
report
reply

Programming

!programming@programming.dev

Create post

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



Community stats

  • 3.8K

    Monthly active users

  • 799

    Posts

  • 6.5K

    Comments