Adi2: A modern GUI library for Ada: CSS styling, XML UI, SDL3 - released as Open Source

Interesting to check the how and whys, since we are speaking of modern but not exactly native or static, as react, android, flutter all use dynamic languages

At least Android uses Kotlin with a JVM backend, so not really scripted. And using Kotlin Multiplatform it can also be compiled into a library without JVM.

1 Like

The problem is not when a widget generates events but the architecture of how events are mapped onto the operations. In Ada terms, button click is a primitive operation of Button rather than of the recipient. It turns everything upside down. Button.On_Clicked evidently makes no sense.

Rendering is only issue for special cases like oscilloscope or huge trace lists. These are designed time-driven rather than data-driven (all real-time application are). Considering events it is live-locks that cause problems, but these boil down to unstructured event handing that makes event generators and all sorts of infinite recursion possible.

I’ve introduced a new widget it should be useful for integrating cef, adi2/docs/texture_view.md at 565f53069bd2af6f07d62e4da11bbb727839ba59 · ovenpasta/adi2 · GitHub

That could also be the start of a glview/vkview widget too, just need a way to set the context and then people can use a gl/vk api to issue the graphics calls.

Done already, check here:

1 Like