Everyone starting out at the bottom of the learning curve (and that, of course, is all of us) faces the question at some time “What is XAML?” and where does it fit into the picture. Is it a replacement for HTML? (no) Is it a replacement for C# (no). Is it the Microsoft competition for Flash. (not per se — True, Microsoft is building something to compete with Flash and this something uses XAML but XAML by itself is not really competition for Flash).
In my opinion the best way to start visualizing XAML is to picture it as being a textual representation for some type of graphical content. Now graphical content can come in a lot of different forms but for XAML the two most important ones are vector graphics and user interface controls. So virtually any vector graphic image can have an equivalent XAML representation and similarly, almost any Windows application GUI can be constructed using XAML instead of C#.
To illustrate this point, I have put together a little webcast (four minutes) which illustrates taking a vector graphic file, converting it to XAML and then displaying the image from this XAML in XAMLPad. In the future, I plan to do another one of these webcasts to show how a given Winform GUI can be expressed both in C# and in XAML. Probably I will illustrate three different versions: C# 2.0, C# WPF and XAML in order to evaluate the advantages and disadvantages of each alternative.
To launch the What is XAML webcast click here.
Mike Swanson’s XAML Exporter for Adobe Illustrator is available here .