For gui apps, what worked for me was building all the functionality in Nim, and 
compiling to a library, with nimpy providing python export pragma. On the 
python side, as long as the (.so) library is in your path, it should be able to 
find it, and simply use it right away. For using python in Nim, you need a more 
complicated process because of type conversions For gui, I have used Kivy in 
python (which I liked, only abandoned because I wanted to target android and 
building for it was too buggy, slow and messy), but later switched to flutter 
and dart. Flutter is really nice, in my opinion. dart has an ffi but it's not a 
pleasant one to use, though it doesn't matter much. porting from/to dart is not 
a big deal too, if you're into flutter (I use the nim-classes package for that, 
which matches pretty well the semantics) QML can be a good option though I 
haven't tried it recently or with Nim. If the application is a simple one, you 
can get by with nimx or lately fidget, but they lack ready made widgets. There 
was nigui as well for abstraction, but again lack of widgets spoiled this 
option.

Reply via email to