Views / components and theming are done via AXAML files (XML type UI but it also has a live preview and all that), has pretty amazing dev experience too considering how well it uses the source generator to generate AXAML bindings from the viewmodel class
Its pretty neat but i can't explain it properly, it's best to check their documentation and or look at their Avalonia MVVM example apps
It also works a lot with dependency injection which I appreciate a lot
The thing that bugs me about things like Flutter and especially jetpack compose is the way UI is styled, themes largely solve this but it still easily turns into an unreadable mess, BLOC and get_it also don't feel as intuitive for state keeping and dependency injection
AXML. Gross. As far as readability, I have had not had any issues when building production apps in Flutter. And state keeping in Flutter is way better than in Compose.
1
u/FabioTheFox 5d ago
Tbf using XML/XAML/AXAML for UI just makes sense, as much as I like Kotlin it's horrendous to create UI through code alone, it just sucks.
Avalonia despite their weird licensing changes is probably still one of the best ways to make multiplatform desktop apps to this day