Hello,
I'm doing my first GUI project in Nim (I'm new) and trying to pick a cross-platform library. I've settled on Nimx and Fidget, and now just have to pick the one.
Some specific questions that I was not able to find answers to:
Thank you!
Well, when you have already decided that you will use one of them then it should be easy, maybe just try both. I think NimX is the most fun, as it is pure Nim. But it may be very restricted and may not look that nice. Fidget looks nice, but it may be restricted too compared to a mature toolkit. I assume for both you will a lot dev support.
Unfortunately the decision is not always that easy, we have more then a dozen of options, I listed most of them above this headline:
Fidget is still alpha...
I would love to know where you get stuck with fidget, so that I could fix it.
@Stefan Thank you for the tutorial. The question that I wonder about, are there tools to bring GTK apps to the web? What about mobile? Nimx looks amazing in that respect, but I've already ran into the issue that I can't compile emscripten and you're right, it just doesn't look that great.
@treeform, @jasonfi it's not a serious project at all. I'm just building a time-tracker for my own needs because everything that's out there sucks for my workflow. Since I just ran into issues with Nimx right out of the box, and also since I do want it to look nice (shoot me :D ), I'm going to give Fidget a shot.
Does Fidget compile with emscipten? And how reasonable is it to run it on Android/iOS (I know it's experimental)?
GTK apps to the web? What about mobile?
GTK has no mobile support unfortunately, I think I said that in the GTK4 book. For Web there is the Broadway module -- thanks for that hint, I should investigate that and write some lines about broadway.
GTK is definitively not suited for you as a beginner, really learning GTK takes thousand of hours. And GTK is mostly for Linux.
OK, thousands is maybe a bit too much. I was going to write hundreds of hours yesterday, but that is again too less :-)
I started learning GTK in 2007, with the GTK2 book of A. Krause. Learning GTK2 was not that difficult, and that book was a useful resource. But GTK3/GTK4 is much more difficult, it is really large, and there is no good resource for learning, learning only from the API docs is hard. I know only a very little part of GTK, and I know only two people who seem to know GTK really well, one is E. Bassi, a hired Gnome dev, and the other is Mathias Larsen at Redhat.
Of course you can write GTK toy apps after a few hours, but writing tools like Gimp, Inkscape or other big Gnome apps is not that easy.
Of course you can write GTK toy apps after a few hours, but writing tools like Gimp, Inkscape or other big Gnome apps is not that easy.
I'm about to work on multi-platform desktop (non-toy) app and wonder what do you think about doing back-end in Nim and then use e.g. Nimporter and do front end in .e.g PyQt?
it depends on which controls/widgets you are planning to use
https://github.com/nim-lang/iup is old, but it seems most controls in iup is exposed for most of the use except you need im/cd
https://github.com/ying32/nim-vcl is a traditional GUI lib based on Lazarus's lcl, and I think it is suitable for most of the use too. But I don't know wether all the methods to control a widget are exposed