this post was submitted on 21 Sep 2024
74 points (100.0% liked)
Programming
17668 readers
168 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
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Understand what tradeoffs different solutions make, then inform your decision on that. A fairly general principle for example is that the more cross-platform compatible a solution is, the less well-suited it will be for any given platform in terms of looks/behavior/performance. This may or may not matter for what you're building.
There are inherent qualities to some solutions (for example, a particular library may make for good solutions on a certain platform), and some qualities will be situational (a particular library is good for you because you happen to know the language/patterns/framework/whatever).
I personally like to build things in Kotlin and Jetpack Compose, but that's because I primarily build mobile apps for Android and I like the reactive UI paradigm that underpins this library along with the language that it's written in. I would perhaps reconsider if I were building a desktop app (not as well supported), and definitely reconsider if I were building a web app (definitely a poor fit).
So yeah, start with what you're building and what its requirements are. Then think about what you already know, and finally put those together when evaluating a UI solution.
It would be desktop. I mostly want to add front end to some stuff I would CLI to round out my skills. I've not seen much about Rust and GUI framework. I've got some Java experience, but read that its native Java FX is deprecated now. I've done a lot in Python, but also want to start learning a language that might be more suited to enterprise work. I honesty am not sure were I'm at. But thanks for your answer
Wanting to learn is a good requirement in itself.
Try starting with the language and then see what you can make of it in that case. You may find out that it's not exactly viable, but then you can always try something else.