Author: Mamta Dalal & Ashish Gho
Publisher: Microsoft Press, 2012
Aimed at: Microsoft developers
Pros: Good explanations and examples
Cons: Many topics omitted
Reviewed by: David Conrad
XAML? Can you really have a book that deals with it in isolation?
Given the way that XAML has spread into other Microsoft technologies, having a book on the subject isn't silly. However XAML's future is far from secure. Even though it is one of the layout languages that you can use with WinRT Microsoft seems very keen on the alternative HTML5. Of course XAML is far superior to HTML5 in the sense that it is more powerful. The only downside of using it is that it isn't standard and, as this book explains in the first chapter, it isn't even particularly standard across Microsoft technologies.
The reason for this is that at its heart XAML is an object-instantiation language and not a markup language. If I were writing a book on it then this is the angle I would emphasise, but this would have the disadvantage of making it less accessible to non-programmers. This book takes the view that XAML is a markup language and describes it as such.
The first three chapters form a basic introduction to XAML. After discovering what it is all about you move on to object elements and attributes and then properties and events.
Part II is called Enhancing User Experience, but it is really about advanced XAML. Topics covered include extensions, resources, styles and triggers. Part III is about UI controls - positioning and types of control.Most of this is about the layout process used in WPF. Part IV is about data binding - the topic that causes most confusion - and media in general.
Overall the book has a messy look which isn't encouraging but when you focus in on a topic you will find that the explanations are good as are the examples. Although the book attempts to say with pure XAML it can't and code examples are in C# - this shouldn't be a problem. There are also lots of references to further material on the web but following them up involves typing in long URLs.
Obviously the book tends to concentrate on WPF and Silverlight and how they interact with XAML and there is no mention of WinRT and how this fits in However being focuses on XAML in general it would probably be helpful if you wanted to make the move from Windows Forms to WinRT. It also doesn't cover the main tools that you would used to work with XAML - i.e. Visual Studio and Expression Blend. This isn't unreasonable as the focus is on XAML and what the actual markup means rather than how you generate XAML.
This quite a slim book, but this helps it focus on the topic in question.It doesn't really work as a reference, however, as it is more like an introduction to the subject than any sort of dry, dull and boring reference - after all the Internet is better at providing answers to questions of specific syntax.
As long as you are happy with an account that has to be incomplete because of the technologies that are left out, e.g. WPF, Silverlight etc, then this is a good introduction to XAML.