Choosing a cross-platform framework for native applications with OpenGL in mind


For the past month i have been trying to figure out which framework to build my application on and i am still not quite certain which approach to take. The application facilitates as a frontend and backend for one or several motion sensors which are connected to the application via TCP/UDP. The application can then do some processing with existing C/C++ libraries and render these on a OpenGL window. The user will have the capabilities of exporting data and do playbacks of existing recordings from the hardware input

The application has to work on Linux, Windows and OSX.

Here are the options i have been looking at:

  1. QtKit (OpenGL)
  2. electron and WebGL
  3. Xamarin

I can pretty much all the programming languages related to the options mentioned above, but in terms of creating beautiful GUI i have much better skills with CSS3/HTML. I have been looking closer into QTKit and found it very complicated to get started and a bit hard to tango with the front-end department. Performance is also something i am worried about hence the functionalities.

So far i am tripping between QTKit and electron, but i cannot decide what to go with, except that the WebApp is in my comfort zone and something i know how to start with in contrast to QTKit which seems to be a pain as i am a total newbie.

Should i go with QtKit or electron?


I’m curious, what do you specifically need OpenGL support for? With Electron you could simply use the HTML5 Canvas API if you need to do free-form drawing.


I am sorry that this was not clear enough, but the hardware connectivity serves the purpose of moving a 3D animated object with a kinematic model. I typically initialize a rigged Collada file.


Ok, that does make things more clear. I’m not sure what libraries there are for cross-platform OpenGL support for JavaScript. That might be the challenging bit.


three.js seems to do a good job as far as i can see when it comes to a framework. Besides that node-webgl for a more raw approach. Admittedly this approach seems much more tempting than good oldschool Java Swing and QTkit stuff.


Sounds like you’ve answered your own question :laughing:


I know what to do, but i am not sure if its the correct approach though…