| ▲ | swiftcoder 5 hours ago | |||||||
> Experience has shown us that an immediate mode API is the only sane way to program GUI applications I wonder how long till they pivot away from this belief. I feel like everyone in UI goes through this phase as some point, but in the end it doesn't scale to truly complicated UI | ||||||||
| ▲ | lioeters 3 hours ago | parent | next [-] | |||||||
In my experience, it's the opposite. Immediate mode GUI, or at least a functional and declarative approach, is the only way I've seen it scale well. It's more modular and scale-independent. On the other hand, retained mode, or imperative/OOP approach to state management, becomes complicated and monstrous quickly; it's the dominant style and can be made to work OK, but typically hellish to maintain or develop beyond a certain scale. Admittedly I'm simplifying too much and conflating paradigms. My preference is something like "functional core, imperative shell" or maybe "immediate-mode core, retained-mode shell" if that makes sense. | ||||||||
| ▲ | cosmic_cheese 4 hours ago | parent | prev | next [-] | |||||||
Yeah. Based on my personal experience I think some kind of hybrid of old-school imperative retained and declarative retained, both with granular reactivity is probably the correct balance for "serious" high-utility desktop applications. Declarative approaches are great for smaller components but become a nightmare for anything much more complex than a relatively simple mobile app while imperative requires a lot of extra legwork at the component level, and as I understand (which may be incorrect) immediate mode makes certain types of optimization more difficult. | ||||||||
| ▲ | rootlocus 2 hours ago | parent | prev | next [-] | |||||||
Is Tracy complicated enough? Because it's imgui. | ||||||||
| ||||||||
| ▲ | hsn915 5 hours ago | parent | prev [-] | |||||||
It's the only thing that can scale to complicated UI | ||||||||
| ||||||||