Hacker News new | ask | show | jobs
by paskozdilar 1562 days ago
Fyne seems to be the closest thing to cross-platform GUI that Go has.

Fyne-cross is a really nice tool that can cross-compile Fyne applications for most popular systems (including android).

The libGL1 dependency under Linux is a fair tradeoff for wide compatibility - the drivers don't have stable ABI so dynamic linking to libGL1 is a must[0].

Python + Tkinter + Pyinstaller works, but does not support cross-compilation, and I've personally had some portability issues with it (e.g. under Linux, the GUI mainloop doesn't work outside of the main thread; under Windows, if you start a Process after setting up GUI, each process will create its own window, so you must start all the Process-es beforehand).

[0] https://github.com/fyne-io/fyne/issues/512

1 comments

Cross-compilation would be nice. I have used asyncio to allow the GUI to run in the main thread but have other processing done separately. I am not sure I understand why you are getting a new window on Windows. Were you trying to create new windows separate from the thread the root window is in?
Actually, I didn't remember it right, it wasn't tkinter. It was probably some other popular GUI library. I just tested tkinter + threading/multiprocessing on Python 3.4.3 on Windows 7, and it works fine. I'm sorry for the false information.
No problem, stuff happens. :)