Comment by bentt
15 days ago
I wonder if Unity (the game engine) actually has a sneaky potential here. It’s cross platform, fast, and maybe just maybe less bloated than carrying around an entire browser like Electron?
15 days ago
I wonder if Unity (the game engine) actually has a sneaky potential here. It’s cross platform, fast, and maybe just maybe less bloated than carrying around an entire browser like Electron?
Unity's 2D UI stuff is very poorly designed, with lots of edge cases where auto-calculated fields can hit a divide-by-zero issue and then become unrecoverable because the value is now NaN which can't be auto-calculated back to a number.
I think Godot is a possible contender as well. There are a few non-game applications made with it, and they've recently added a docs page tailored to non-game application development: https://docs.godotengine.org/en/stable/tutorials/ui/creating...
Not sure about Unity, bot Godot is already used to build tools, like Pixelorama (pixel art graphics editor, a bit akin to Asesprite), RPG In A Box (game engine targeted for RPG games), Bitmapflow (tool to generate in-between animation frames), and probably more I don't know about.
Well, if I remember correctly, the Godot editor is written in Godot.
Godot is written in C++ It may have some GDScript in there, but I don't think so. The sourcecode is available: https://github.com/godotengine/godot
The C++ code there (at least in the editor directory) initializes and configures godot ui components that the editor is made of
Just use Qt. Native, cross-platform, works like a champ.
Cross-platform and native never works well.
Qt works very well because it's well thought out software. There's a lot of really shit solutions out there, but basically nothing touches Qt.
Nothing is perfect, but it works well in my experience.
You’ve never used Qt
Speaking from personal experience, Godot has the sneakiest potential. It has all the UI components and flexible layout containers you could ask for, a signaling system that lets you put the methods from less relevant components in the scripts for more relevant ones (making for a more compact project), and you can also manually compile slim template builds for cleaner distribution. There's a future there.
There are already tools made in Godot, including the godot editor itself. This page has some of them: https://gamefromscratch.com/godot-developed-non-game-applica...
What’s the story for accessibility and non-LTR text boxes?
Flutter is probably better suited for apps
Recently started making a Flutter app and it is fantastic to use, cross platform to everywhere, dart is a very nice language to.
What's the accessibility story like? Do Unity applications work well with screen readers?
Sure but different target market.
CRUD apps are non-trivial.
If Unity were to ship platform native replacement for WPF equivalent (hell or even winforms) it would become a really enticing app development platform.
> CRUD apps are non-trivial.
Aren't these pretty much the most trivial UI apps possible? E.g. compared to other native apps like Photoshop, Blender, Visual Studio or Office, CRUD is mostly just about banging together custom UI frontend for a database.
Unity's editor is implemented in its own (old) UI system, same with Godot, so in both engines it's possible to create 'traditional' non-game UI applications.
A professional GUI requires quite a lot.
A Unity expert can correct me, but IIRC (possibly wrongly) at least the following limitations apply:
For example Unity does not have accessibility features (screen readers etc) nor I don’t think it’s DPI aware. I would _guess_ it does not support platform fonts. Not sure if it supports non-latin font layouts like arabic. Etc etc.
Unity has a big runtime that needs to be bundled with it to run