4 ms·
Things like WPF/XAML can also use an XML-style tree, and the manipulation tools that entails, for UI. However, there are a number of other things they bring to
by Sanddancer 10y ago
Things like WPF/XAML can also use an XML-style tree, and the manipulation tools that entails, for UI. However, there are a number of other things they bring to the table that quickly outstrip anything that web-based objects can provide. For example, one can define custom elements, so instead of having a bunch of <Div>s defining things and needing to define things based on ids, you can create a custom tag, like <StatusBar> that gives everything you need plus makes your app layout that much cleaner.
It gets better when you start adding in the things that javascript makes hard, like concurrency and parallelism. For example, with C#, I can do something like
var results = URLs.Select((t) => { Task.Run(SomeLongRunningFunction(t)); } );
to start a series of background tasks handling HTML requests. The equivalent for JavaScript involves the much more restrictive WebWorker API, and requires me to put those small worker functions in their own page/file, or use much uglier data uris which aren't universally supported. HTML/CSS/JS just fall apart once you start getting into more interesting applications.