(Ask HN:) At this point, if you want to create a cross-platform hardware accelerated application, is it better to use a game engine like Unity rather than an application framework like Qt?
At work we have an upcoming GUI project that has lots of classical dialogue boxes, but also has a main display area that really needs to be hardware accelerated, and can show 2d and 3d stuff. It needs to be cross platform including mobile. I'm at a bit of a loss where to start.
I would bet that the easiest thing would be FLTK. You can use system colors and make an openGL window while having everything else you would expect in a UI library. Executables with no dependencies start at a few hundred KB and it is very fast. There is even a single big pdf for documentation and dozens of examples that show off every widget. FLTK is very underrated these days because no one is out there marketing it.
GLFW and IMGUI are great libraries, but once you start wanting a program with various modal and non-modal windows, menus, widget layout, a native look, file dialogs, fonts, drag and drop, copy and paste, unicode, spreadsheet tables, physical printing, custom widgets, functions to hide OS specific system stuff (like stat, directory listing etc.) you might wish you had started with something made for what you are trying to do.
CyberDildonics has a good point. Tcl/Tk might also be a good choice for the application widgets, as there are lots of high level language bindings. I use it exclusively and love it, though fltk is also very solid - just lacking the bindings.
> At work we have an upcoming GUI project that has lots of classical dialogue boxes, but also has a main display area that really needs to be hardware accelerated, and can show 2d and 3d stuff. It needs to be cross platform including mobile. I'm at a bit of a loss where to start.
I would look into IMGUI + GLFW. A lot of neat programs are being made with IMGUI these days, for example: https://remedybg.handmade.network/ RemedyBG's entire UI is IMGUI, including the menu bar, tabs, etc.
Dear ImGui is kinda cool, I played with it some a year or two ago. But it definitely has a certain look and feel to it that I think is only appropriate for certain apps (mainly developer tooling).
Lots of applications like that are done in Qt, e.g. 3D editing tools, game engine tooling, ... For mobile you might prefer doing independent apps (reusing some of the 3D code etc of course), but afaik other desktop frameworks are not better than Qt for that.
At work we have an upcoming GUI project that has lots of classical dialogue boxes, but also has a main display area that really needs to be hardware accelerated, and can show 2d and 3d stuff. It needs to be cross platform including mobile. I'm at a bit of a loss where to start.