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

Programming

17655 readers
335 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
 

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
[–] Kissaki@programming.dev 5 points 2 months ago* (last edited 2 months ago)

Blazor is incredibly versatile in terms of where and how you run it. The UI is in HTML and CSS, the generated runtime bindings in JavaScript, but you can code the backend as well as frontend logic in C# / .NET / Razor template files.

It can render on the server or client, even work offline with WebAssembly and Service Worker, and dynamically switch between or combine them.

You can also integrate it into Windows Forms, WPF, or multi-platform .NET MAUI with Webview2, which will render "as a website" while still binding and integrating into other platform UI and code.


Your goals of "neat little GUI" and "as portable as possible" may very well be opposing each other.

Main questions are what do you have (technologies); what are you constraints, and what do you need. Different tech has different UI tech. Overall, most GUI programming is a hassle or mess.

If you want to dip your toes, use the tech you like, and look for simple GUI techs first. Don't try to do everything/all platforms at once first.