(更新)
对 XAML 的误解是它没有被编译。它确实被编译为 BAML 二进制预标记 XAML。显然有一个 IL 编译版本的 XAML 也称为 CAML。OP 向我指出了这篇解释 XAML/BAML 和 CAML 是什么的好文章。
无论如何,对于为什么要使用它的问题:
XAML 只是 C# 对象的序列化格式,它特别适合描述分层对象结构,如 WPF GUI 中的对象结构。
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 在这里也有帮助,因为它只允许您表达对象及其关系/属性,而不是逻辑。这迫使您将逻辑与 UI 布局分开。MVVM 模式非常适合这项任务,并允许简单的可测试性和可互换的视图。
XAML 中增加的复杂性也很容易被忽略,因为 C# 中的相同代码很容易变得比 XAML 标记更复杂。
不过,我无法让您深入了解 QTQuick。对不起