(обновлено)
Неправильное представление о XAML состоит в том, что он не скомпилирован. Это действительно компилируется в BAML двоичный предварительно токенизированный XAML. Очевидно, была версия XAML, скомпилированная IL, также называемая CAML. ОП указал мне на эту хорошую статью , объясняющую, что такое XAML / BAML и CAML.
Во всяком случае, на вопрос, зачем его использовать:
XAML - это просто формат сериализации для объектов C #, который особенно хорошо подходит для описания иерархических структур объектов, как в графических интерфейсах WPF.
WPF помогает вам писать менее скучный код на C #, например:
var grid = new Grid();
grid.Content.add(new TextBlock() {Text = "Hello"});
grid.Content.add(new TextBlock() {Text = "World"});
и просто выразить это более читабельным образом, например:
<Grid>
<TextBlock Text="Hello">
<TextBlock Text="World">
</Grid>
Поскольку вложенность объектов WPF (помещение объектов внутри других объектов) может быть очень глубокой, WPF значительно облегчает чтение, чем полученный код C #.
Что касается разделения интересов: здесь также помогает XAML, поскольку он позволяет только выражать объекты и их отношения / свойства, а не логику. Это заставляет вас отделять логику от макета пользовательского интерфейса. Шаблон MVVM очень хорошо подходит для этой задачи и обеспечивает удобство тестирования и взаимозаменяемость представлений.
Дополнительная сложность в XAML также может быть легко отклонена, потому что тот же код в C # становится более сложным, чем разметка XAML.
Хотя я не могу дать вам никакого представления о QTQuick. К сожалению