4 ms·
I made a joke once that the Godot open-source game engine had 'accidentally' become an amazing alternative to Qt (Godot's own editor is itself a Godot applicati
by Fr0styMatt88 7y ago
I made a joke once that the Godot open-source game engine had 'accidentally' become an amazing alternative to Qt (Godot's own editor is itself a Godot application and quite nice for a desktop UI).
Notwithstanding what Qt offers in the embedded space, I think it's interesting to ask the question more seriously. For rich, cross-platform desktop applications, is a game engine a better choice than Qt?
- pier25 7y agoDoes Godot support vector graphics? Another good alternative would be JUCE. It's made for audio dev but it is crossplatform and has support for resolution independent UIs. It supports OpenGL and AFAIK Metal and Vulkan support are on the way. https://juce.com/ https://juce.com/ Also Flutter will support desktop at some point.
- c-smile 7y ago> Also Flutter will support desktop at some point. Sciter (https://sciter.com https://sciter.com) works on all desktops from the very beginning (10+ years already).
- pier25 7y agoA couple of months ago they implemented JSX and React like features: https://sciter.com/developers/sciter-docs/reactor-and-ssx/ https://sciter.com/developers/sciter-docs/reactor-and-ssx/ Unless I'm missing something it only seems to support reactive local component state a la this.setState().
- fulafel 7y agoGodot supports 3d and 2d meshes, but if you want to use something like SVG, you have to convert into Godot assets offline first.
- pier25 7y agoI was thinking more about generating resolution independent UIs (buttons, text, etc) not so much importing SVG assets.
- p_l 7y agoDoes either support IMEs, accessibility (across all platforms)? There's more to a good modern UI toolkit than just drawing the GUI, and I don't mean the utility libs that used to be important but honestly aren't anymore, but things that are part of UI/UX like accessibility and apropriate integration with OS features for it.
- pier25 7y agoNot sure but probably not. If accessibility and integration with the OS are important it's probably better to go with Cocoa and .NET/UWP instead of a crossplatform solution. I imagine QT solves this as well but at $5000+ per developer per year it might make more sense to have 2 codebases with native UIs and shared code. I looked into that option recently and using Nim to transpile to C/C++ for the shared business logic/network/etc seemed like the best option.
- detaro 7y agoOn desktop just using Qt under open-source terms is a pretty good option, unless you really need one of the GPL-licensed add-ons. The announced change for the LTS versions tries to make that a bit less attractive, but for many it's not going to be that much of an issue.
- p_l 7y agoGTK, QT, wxWidgets all support accessibility. And Cocoa/UWP are not the end all, be all of platforms where one might want an accessible GUI program. Making three different GUI codebases is right out, IMO, for most cases I'm looking at, and libraries that have zero support for accessibility don't get a pass (thus I have no interest in any imgui solution, as they are inimical to accessible UI). The news about Qt unfortunately mean I have to consider whether to put effort into upgrading the toolkit I have to Qt5 (or wait for Qt6 but still have a sword of damocles over me) :/