One factor not asked is pricing...
This might apply to some frameworks.
There are 3 general approaches:
* Web technologies (Electron or any WebView)
* Wrappers (eg. react-native, Xamarin)
* Using a cross platform framework with some UI code (or additional UI renderer). (eg. cpp: QT, JUCE; java: swing or the newer ui toolkits).
In terms of performance,
The major question is the impact of the UI.
Are you in need for video? do you need super-awesome FPS with custom GPU shaders?
If you need super-fine control on the entire UI, meaning, the app IS the UI :) (or at least it's a major part of it) - then writing close to metal (OpenGL --> Vulkan/Metal) might be the best starting point.
If your app can also run in a web-browser without compromises then starting a web-based development would be best.
TL;DR -
I feel that there's need to scope the UI needs to decide which is best.
There are 3 general approaches:
* Web technologies (Electron or any WebView) * Wrappers (eg. react-native, Xamarin) * Using a cross platform framework with some UI code (or additional UI renderer). (eg. cpp: QT, JUCE; java: swing or the newer ui toolkits).
In terms of performance, The major question is the impact of the UI.
Are you in need for video? do you need super-awesome FPS with custom GPU shaders?
If you need super-fine control on the entire UI, meaning, the app IS the UI :) (or at least it's a major part of it) - then writing close to metal (OpenGL --> Vulkan/Metal) might be the best starting point.
If your app can also run in a web-browser without compromises then starting a web-based development would be best.
TL;DR - I feel that there's need to scope the UI needs to decide which is best.