I am aware of the existence of several threads on the topic, but I am looking for fresh hand-on experience, that I was unable to find.
I have an application written in C++ (core, linear algebra and image processing) and python (interaction with the operating system, aka text files save, plot production, etc). The two are glued together with SWIG, an awesome tool that widely recommend.
I want to write a GUI for all the major OS (macos, Linux and windows) to help the user to interact with the application, and avoiding the user to modify the python script directly. Using this answer and kivi as a library, or pyQT. Then, as it usually happens, I spoke with a friend and he suggested me to go for Electron or/and photon, and javascript for the GUI. SWIG support also javascript, so I could create bindings also for Javascript, V8 and node.js
More in detail: my application is a python script that is basically used as a configuration file. Inside the python script several methods of the C++ classes are called with various parameters that the user can change. Currently the user is required to edit the python script, and I would like to go for a more user-friendly GUI with some sliders etc. Another reason I use python is to read external files, mostly csv-like, parse them and use them to call C++ methods. The C++ classes are compiled with gcc/clang/MSVC and then wrapped in some python by SWIG. No multithreading, and I don't plan to implement it in the future. I am interested, for future plans, to include some OpenGL objects in the GUI, and for this a Web-based approach, with WebGL and maybe three.js, could be useful since I already have quite some code for it.
Time: ideally the user starts the GUI, sets the parameters, press a button, waits for more or less 30 sec, and then looks at the results. Maybe the user will do it more than once.
Is there a strong argument for going either direction? I am thinking to create a test app to evaluate, but how can I measure the performance of either approach?