3 ms·
Ask HN: Why not use Godot for cross platform apps. Proof of concept in comments
- Shared404 6y agoIt seems like Godot provides many of the advantages of Electron with few of the downsides. Why is it or similar tools not used more often? POC is here: https://git.sr.ht/~evan-hoose/BadTextEditor https://git.sr.ht/~evan-hoose/BadTextEditor
- krapp 6y agoBecause people believe game frameworks are just for games, when a "game" is just an application like any other. People use Unity for developing applications as well. I don't know about using Godot with GDScript, though, I'd at least use C# with it.
- Shared404 6y agoI used GDScript in the PoC, it honestly wasn't that bad. Basically just python syntax, and I believe it gets compiled whenever it's packaged, although I may be wrong about that.
- krapp 6y agoSure, but there are more third party libraries written in C# that would be of interest for developing general applications. There's an AWS SDK for Unity[0] for instance. No one is likely to write that in GDScript. [0]https://docs.aws.amazon.com/sdk-for-unity/ https://docs.aws.amazon.com/sdk-for-unity/ Now that I think about it I wonder how difficult a basic HN reader in Godot would be? That might be fun, actually.
- Shared404 6y ago> ... more third party libraries written in C# ... That is a most excellent reason. The HN reader in Godot could be fun, I might play around with that later. I was thinking about possibly embedding youtube-dl in something for my grandparents, they always want to download youtube videos, but they're scared of the command line.
- gunibert 6y agoThe problem in a framework like GoDot is, that it is meant for Games. A game renders screens in 30/60 fps. A Desktop application like a Gtk application does exactly nothing if you dont interact with the application. If you click a button only the button gets re-rendered. This is more efficient then using something like a game engine which has no concept about damaged regions and so on. Also, people like to have something like "native" look and feel. This would be possible with Java-SWT as it abstracts away the toolkit. This is possible but in the case of SWT it is just broken (think about margins, text, scroll behaviour). The other option is to use electron as it is just plain simple, works even in the web (you can basically make a webapp and repackage that as an electron app) Or you package a toolkit with your application and avoid native libraries. This happens in the world of Qt for example. Gtk is cross-platform too but not statically linkable.
- Shared404 6y ago> A game renders screens in 30/60 fps. This is an extremely good reason, thank you for pointing that out. > People like to have something like "native" look and feel. While this is true, I mostly disregarded it because most cross platform frameworks I know of have the non-native look and feel. The only two that I know of that do have it are wxWidgets and now Java-SWT. > The other option is to use electron as it is just plain simple, works even in the web I thought Godot was fairly simple as well, and it has the ability to compile to web assembly. > Or you package a toolkit with your application and avoid native libraries. This happens in the world of Qt for example. Gtk is cross-platform too but not statically linkable. Before reading your comment I thought that this, Electron, and something like Godot were the only options. I believed that Godot was a nice middle ground between the simplicity of Electron and performance of QT/GTK.
- msie 6y agoI had the same idea too. It's sorta like Visual Basic in feel.
- Shared404 6y agoI haven't used Visual Basic before, so I can't comment on that. But it was definitely basic enough I could (re)teach it to myself, and then get a POC out in threeish afternoons.
- cellularmitosis 6y agoAny chance you can take some screenshots or a short video? I'd be curious to see it but don't want to install anything.
- Shared404 6y agoSure thing, give me a couple minutes.
- Shared404 6y agoAlso, the git repo includes binaries for Linux, Windows, and Mac.
- cellularmitosis 6y agoVery interested in your project, but running binaries from strangers is never a good idea :)
- Shared404 6y agoTrue. I actually just finished adding the video to the git repo. I don't have/don't plan on getting a youtube channel, and I haven't bought a domain yet, so this will have to do for now.
- cercatrova 6y agoThere is no reason, really. People just don't think about using game engines to write applications. This is part of why Flutter instead turned this around, making apps act more like they're in a game engine, with the Skia renderer. Cross platform in this case is just using the renderer for each platform and it works super well. If you like Godot, therefore, you should definitely check out Flutter as it's custom built for writing apps.