kosarev / zx

ZX Spectrum emulator written in a mix of Python and C++
https://twitter.com/z80tools
MIT License
21 stars 1 forks source link

Decide which GUI technology we'd like to stick with #4

Open kosarev opened 4 years ago

kosarev commented 4 years ago

Part of #3.

General directions to consider:

ArjunNair commented 4 years ago

May I suggest IMGUI? I've used it for a chip8 emulator I wanted to run as cross platform on Linux, windows and mac. It works quite well and has many language bindings too.

kosarev commented 4 years ago

Thanks a lot, @ArjunNair! Added ImGUI to the list, and also found a similar project, Kivy. The first seems to be a popular choice for games, thus promising good performance, and the latter is itself written in Python. I'm going to see if there are more libraries of this kind, but I think at this point it's more or less clear that for this project any of these two would be a better choice comparing to solutions like Qt/wxWidgets/... and Electron/NW.js.

As to Skia, the library itself seems impressive, but the only GUI library built on top of it I found so far is https://github.com/skui-org/skui, and I would say the screenshots at http://www.thomthom.net/thoughts/2013/07/skui-a-gui-framework-for-sketchup/ look somewhat archaic. :-) So either there's a better alternative to Skui or we would need to write our own widgets, and I'm not sure how much time it would take given our needs...

kosarev commented 4 years ago

A good overview of the topic:

UIs in Python https://livingthing.danmackinlay.name/python_gui.html

Among other options, mentions this: https://github.com/vurtun/nuklear

boriel commented 4 years ago

I use pygame directly (which is on top of SDL), not a gui itself. This list is pretty interesting!! :)

kosarev commented 4 years ago

@boriel Thanks, Jose. Added PyGame and Cairo to the list. It indeed might be that no-GUI is just enough for our needs. :-)