Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3
1–10 of 28 posts
Re: Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3
#2Re: Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3
#3Why would anyone choose XML for a modern GUI layout in 2026? That seems like a mis-step.
Re: Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3
#4---
My framework (Dioxus Native - https://github.com/dioxuslabs/blitz) would fit quite nicely into your comparison table:
- Compiles to self-contained OS-native app bundle
- - GPU or CPU rendering
- Windows 10+ / macOS / Linux / mobile / wasm / (+ web DOM with Dioxus Web)
- Rust
- Memory safety: borrow checked
- Styling: CSS (support matrix: https://blitz.is/status/css)
Re: Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3
#5I'm going to ask the obvious question: why ADA? --- My framework (Dioxus Native - https://github.com/dioxuslabs/blitz ) would fit quite nicely into your comparison table: - Compiles to self-contained OS-native app bundle - - GPU or CPU rendering - Windows 10+ / macOS / Linux / mobile / wasm / (+ web DOM with Dioxus Web) - Rust - Memory safety: borrow checked - Styling: CSS (support matrix: https://blitz.is/status/css…
-- Why Ada, well and why Rust? I guess it depends on your taste...
You can know more about Ada here: https://learn.adacore.com/courses/intro-to-ada/chapters/intr...
It is a language with a long history, completely defined both the language and it's runtime library, it is an ISO standard, it is readable, it is modern, it has many features both for embedded and general purpose use, it has 1st class support on GCC as a frontend. Maybe it does not have a borrow checker as of today, but if you need to harden you can use the Ada/SPARK subset, a very interesting language, that can prove program correctness at compile time.
Re: Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3
#6I'm going to ask the obvious question: why ADA? --- My framework (Dioxus Native - https://github.com/dioxuslabs/blitz ) would fit quite nicely into your comparison table: - Compiles to self-contained OS-native app bundle - - GPU or CPU rendering - Windows 10+ / macOS / Linux / mobile / wasm / (+ web DOM with Dioxus Web) - Rust - Memory safety: borrow checked - Styling: CSS (support matrix: https://blitz.is/status/css…
Hi! Interesting! Your frameworks seems to be a kind of web browser, with dynamic content. Adi2 takes a different approach. Your entire app is static code. Every widget, every style is built at compile time. No interpreters or parsers at runtime. -- Why Ada, well and why Rust? I guess it depends on your taste... You can know more about Ada here: https://learn.adacore.com/courses/intro-to-ada/chapters/intr... It is a l…
Huh. That does sound cool. Does that mean that the XML and CSS is parsed and resolved at compile time? How does that handle dynamic content changes (e.g. content changes in response to user input).
Note that while Blitz applies CSS and runs layout at runtime, the scripting layer (equivalent of JS in the browser or Dart in flutter) is AOT-compiled Rust.
Re: Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3
#7 if not W.After_Key (W.Depth) then
-- things
else
W.After_Key (W.Depth) := False;
end if;
-- ...more things...
W.After_Key (W.Depth) := False;
And what's the deal with those filenames? If you replace adi- with TIMMEH, you'll see what I mean.Code should be more DRY (don't repeat yourself).
Re: Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3
#8Earlier quoted context omitted.
Hi! Interesting! Your frameworks seems to be a kind of web browser, with dynamic content. Adi2 takes a different approach. Your entire app is static code. Every widget, every style is built at compile time. No interpreters or parsers at runtime. -- Why Ada, well and why Rust? I guess it depends on your taste... You can know more about Ada here: https://learn.adacore.com/courses/intro-to-ada/chapters/intr... It is a l…
> Every widget, every style is built at compile time. Huh. That does sound cool. Does that mean that the XML and CSS is parsed and resolved at compile time? How does that handle dynamic content changes (e.g. content changes in response to user input). Note that while Blitz applies CSS and runs layout at runtime, the scripting layer (equivalent of JS in the browser or Dart in flutter) is AOT-compiled Rust.
Re: Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3
#9There's so much repetition in there. E.g.: (adi-json.adb) if not W.After_Key (W.Depth) then -- things else W.After_Key (W.Depth) := False; end if; -- ...more things... W.After_Key (W.Depth) := False; And what's the deal with those filenames? If you replace adi- with TIMMEH, you'll see what I mean. Code should be more DRY (don't repeat yourself).
Re: Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3
#10There's so much repetition in there. E.g.: (adi-json.adb) if not W.After_Key (W.Depth) then -- things else W.After_Key (W.Depth) := False; end if; -- ...more things... W.After_Key (W.Depth) := False; And what's the deal with those filenames? If you replace adi- with TIMMEH, you'll see what I mean. Code should be more DRY (don't repeat yourself).