upvote
> 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.

reply
The XML is just a layer, it gets compiled to normal code that creates / operates on the widget tree. On any user input callbacks are just Ada code that can again apply changes to widgets, like states, or add / remove widgets or set properties like label text etc. The CSS is also converted to Ada constants that are used by the styling engine at runtime. You can check the getting started, it shows how it is done both as pure Ada or as XML/CSS.
reply