3
Axis
7y

I need advice!

I have a project idea that involves creating a cross platform gui but I cannot decide on a framework.
I have been toying with the idea of electron(ugh please no), c++ with either gtk+ or qt, Java with JavaFx.
I really want to be be able to create binaries for Mac windows and Linux while keeping bundlesize low and efficiency high. With this in mind I am leaning towards a c++ implementation but qt (which seems to be the best option for this route) has an insane learning curve. Is there something I am not thinking of that would satisfy these requirements?

Comments
  • 0
    create an mvp with electron (which also handles C code). And if the product looks and feels right evolve your baby into native.
  • 1
    @heyheni I am considering wlwriting a proof of concept up in electron and possibly build a beta version there but I do not see the final version of the project being done here. The fact chromium needs to be bundled is a huge negative additionally it is way more memory intensive then a standard app.
  • 0
    @artemix lol nice mini rant, I have developed with electron before, I will admit that the setup wasn't the easiest at first but I think I have got that part down now lol. As for Java fx I would love to use Java but two things come to mind that stop me, bundle Java I to binaries always seems to be a workaround and when it does the entire jre has to be packaged with it making the program a lot bigger than it should be. Is there anything I don't know about packaging Java that would solve either of these issues?
  • 1
    @artemix by the way I don't know the last time you have read about qt but from what I understand in the last few years the entire framework has been revamped. Now supports c++11 and 14. Uses a special json like language for the frontend in conjunction with javascript. The heavy lifting is done with c++ although you could just use c++ to do everything.

    Java 9 is still just a bitch to bundle and kotlin native isn't much better from what I see.
  • 0
    Qt is an absolutely amazing framework and works seamlessly with C++ (since that's what it is). It works on every device you can imagine and the UI doesn't need changing.
    That's just if you are using C++.
  • 0
    @Artemix It might take a day to setup but at the end it saves a lot of time. You can get a really nice UI with backend code up and running in couple of days. Also, you get things like hot reloading which is one of the best thing happened to UI development.
  • 0
    @xsacha QT is an amazing framework. Although QML is not that well documented.
  • 0
    @Artemix Never had this type of issues with devRantron but your choice obviously 🙃
  • 0
    @tahnik can you direct me to any good resources for learning qt? Also how do you feel about the golang bindings for qt? Is it going to be easier to learn and use that or should I just go for c++ directly.
  • 1
    @Axis I don't know how much the golang bindings have been developed. If you know C++ I would say just go for that. It will be easier to find docs.

    And yeah, I learned the whole thing from docs and looking at existing open source code.
Add Comment