this post was submitted on 07 Jun 2024
35 points (88.9% liked)
Programming
17398 readers
105 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 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
For a desktop app I would go with none of those.
If cross platform is the goal, the more important question, and independent of the programming language, is which GUI framework you will use.
Your best bet, at least if you are looking for a stable GUI framework, the best candidate may be C++ and Qt. But that's a hassle in its own right - both C++ and Qt.
TypeScript will have some solutions for you, with web rendering as a desktop app. Golang will have Qt bindings or other more experimental/not thoroughly established+popular GUI frameworks.
My personal favorite ecosystem is .NET. It has an official cross-platform UI project MAUI, but without an official Linux target. Community extensions probably exist. Personally, I dislike the way the UI is declared and bound though (XAML).
My current interest, which I have not explored or validate yet, is using .NET but then host a web or Blazor app in it with Webview2. .NET supports cross-boundary programming, crossing web+managed/native development, and crossing web(HTML+JS)+managed.
Most of the time GUI and the framework technology is a hassle. Your question is too broad and unspecific, so there's not a good answer.
If it's not a "serious" project that you depend on [for your livelihood], pick and start with whatever [looks good or interesting] and go from there. If it is a "serious project" do a bit more GUI framework exploration and assessment, and pick and commit to something. If it's a big commitment or risk, do prototyping with your candidates for verification and assessment - beyond the most simple examples, and for your specific usage.
You can write the MAUI UI in C#. No need to use XAML anywhere.
Creating MAUI UI's in C#