Live data from Hacker News

Making Advanced GUI Applications with Godot

medium.com

231–240 of 259 posts

Re: Making Advanced GUI Applications with Godot

#231

Earlier quoted context omitted.

Even better. The comparison is of the GUIs themselves anyway. Have both use the same specialised libraries. If anyone wants inspiration, Winamp is the gold standard for media players with excellent GUI bling and skinning.

This makes no sense to me. If your test involves two different GUI systems running the same 'specialised libraries', you are running the specialised libraries, not the GUI systems. A media player involves heavy crunching and streaming and memory I/o, and access to the GPU if possible - these things that game engines excel at. Most GOOD game engines are in fact an entire operating system, abstracting away the host ope…

A simple A/B test of the sort I described is fairly common. Especially when we are considering alternatives and want to isolate one variable, eg the GUI. Eg if someone was interested in godot and qt was the usual then I'd encourage that team member to use the same media libraries is a given to keep it fair. This is basic science methodology: change one thing at a time to enable comparison.

You'd be amazed how much overhead a change can introduce even if the real work is done by a dedicated library. This is the whole point I was making.

eg A library like imgui that repeatedly redraws itself isn't actually that wasteful power wise if you tune it and make it fit for purpose. We've done exactly that for mobile. The simplicity of its approach enables all sorts of optimisations. Imgui is a straightforward animal that can be optimised in all sorts of directions, that is actually one of its drawcards. Reorientating it to output text has already been done - thats how flexible it can get.

Re: Making Advanced GUI Applications with Godot

#232
post #180

Earlier quoted context omitted.

Or you can use a Lazarus IDE which is very fast to develop in, generates native cross platform binaries which are very fast and also tiny. https://www.lazarus-ide.org/

I tried Lazarus a few times and even though I spent a _long_ time writing Pascal, it's just not there yet. At least on the Mac, just getting it to install and run was a big pain.

The latest version is actually quite stable. I use this on Linux though

Re: Making Advanced GUI Applications with Godot

#233

I think Lazarus is a much better environment for creating desktop apps which are small, cross-platform and very fast. The component architecture is much more advanced than Godot and you have access to a huge number of components. Extending these components or creating new components is also very easy.

Don't you have to use Pascal for that, though? I'm sure the tooling is better by now, but I remember being pretty happy not to need to touch Pascal anymore by the late '90s. The APIs that expected Pascal conventions were often pretty miserable to use.

Yes, you do need to use Object / Free Pascal but it is actually quite a nice language and you can interface with C libraries quite easily

Re: Making Advanced GUI Applications with Godot

#234
post #2

QtWidgets works really hard to try and remain native (both by reusing the platform window pointers, and mimicking style and functionality). That for me is worth it. While the article constantly complains about dev tooling size, a reasonable complaint, my DLLs I ship w/ my Qt program are just 20MB (so I'd suspect a similar size increase to a single binary were I to statically link). If I didn't care about native look…

Qt is not native enough, if you compare it with wxWidgets.

Particularly in Windows.

Re: Making Advanced GUI Applications with Godot

#235

Earlier quoted context omitted.

Don't you have to use Pascal for that, though? I'm sure the tooling is better by now, but I remember being pretty happy not to need to touch Pascal anymore by the late '90s. The APIs that expected Pascal conventions were often pretty miserable to use.

Yes, you do need to use Object / Free Pascal but it is actually quite a nice language and you can interface with C libraries quite easily

That's good. Converting between pascal and C calling conventions is one part of the 1980/1990s that I have absolutely zero desire to revisit.

I do recall that some of the Object Pascal class hierarchies that got developed were quite nice, and I am glad to hear there's more development continuing that direction.

Re: Making Advanced GUI Applications with Godot

#236

Earlier quoted context omitted.

> - Almost no one does accessibility properly in web apps. Screen readers can still (badly) work on web sites that haven't been made with accessibility in mind. And if you find you need to add proper accessibility to a web or native app, you can. With something like godot, you might have to rewrite the entire GUI to get accessibility working properly. > - Using Electron does not give you accessibility in any way. Yes…

> web sites We are talking about web apps, not web sites . > the screen reader output The screen reader is not supported or useless on most web apps. Again, we are talking apps and their GUI (web and native), not sites or documents. > With something like godot, you might have to rewrite the entire GUI Again a "might". I don't see any reason why you need any "rewrite". > laws Those are not for general purpose commerci…

Whether your site is a "webapp" or a "website" is meaningless in terms of the law if we are talking about sites you visit through a browser.

Re: Making Advanced GUI Applications with Godot

#237
post #54

Are there examples of such advanced GUIs? (links to github)

Godot's own editor is one obvious example.

Also I saw this Kanban board posted on Reddit earlier: https://github.com/alfredbaudisch/Godello

Heavypaint, mentioned elsewhere here: https://news.ycombinator.com/item?id=24046431

Re: Making Advanced GUI Applications with Godot

#238

If you want to use this in a business, either for an internal tool or for an application you sell, this is a horrible idea. Godot doesn't display native widgets, so it has no support for accessibility, for example to screen readers and blind users. Some people think blind people bring too little profit to care, but this is wrong for one single reason. There are some laws mandating accessibility, and more laws are bei…

The solution is not to ban Godot, or Unity or Crytech or any of the game frameworks people and companies use to make videogames.

The solution is, as far as it is possible, to add accessibility to these frameworks.

Something somewhat common in videogames is to add one or several colour blindness colour palettes to the games.

Re: Making Advanced GUI Applications with Godot

#239
post #5

It's not the world's best WYSWYG editor but it sure is a WYSWYG editor, with cross platform exports. You can even write your apps in C# if you want.

And using C# gives you the added benefit of the rest of the C# ecosystem. You can use Nuget right in the VS solution file Godot generates to import whatever you like.

Re: Making Advanced GUI Applications with Godot

#240

Earlier quoted context omitted.

I made this comment when someone was talking about using GLFW and IMGUI to make an application with a openGL window and I think it applies here too, because it is easy to overlook the things that you will eventually need that are not trivial to add once you go down the road of using tools made for only very basic UIs. "I would bet that the easiest thing would be FLTK. You can use system colors and make an openGL wind…

> once you go down the road of using tools made for only very basic UIs. As noted elsewhere in the thread, the Godot editor (supporting UI, 2D & 3D) itself is built with Godot, so it's definitely not just "very basic" UIs. FWIW, from your list, Godot doesn't currently support these AFAIK: * physical printing, spreadsheet tables, a native look And, does support: * fonts, drag and drop, copy and paste, custom widgets,…

Godot is also designed to be extensible, so it wouldn't be impossible to just write a plugin (either published or application specific) to integrate whatever app-dev specific features are needed.
Post reply on HN