XAML 101: What is XAML Anyway?


Welcome to the first in a series of posts introducing beginners to the world of developing Windows 10 Universal Windows Platform (UWP) apps using XAML. No previous knowledge will be assumed, but some working knowledge of C# will be very helpful. I try to keep my posts lighthearted and easily accessible, we will see how I do.

XAML (or Xaml, depending on your preference, I will try to be consistent and capitalize it) was originally introduced as part of Windows Presentation Foundation (WPF) and it is a general purpose XML based format for representing any .NET object, but it is overwhelmingly used for representing layout (similar to HTML for web apps). XAML stands for eXtensible Application Markup Language (or originally eXtensible Avalon Markup Language, the code name for WPF was Avalon back in the Windows Longhorn days).  If you develop an app using XAML for Windows 10, it is generally a combination of XAML for layout and C# (or C++ or VB.NET) code for application logic. Most things you can do in XAML can also be done in code, but XAML lends itself well to design tools which can increase productivity.

XAML has come a long way in Windows 10, and a lot of the built in user interfaces in Windows 10 including the start menu, action center, settings window, Edge browser, and much more all use XAML. The Office Universal apps also use XAML. These teams are so demanding about CPU and memory performance, and the UWP SDK team had to make a lot of improvements to make their platform acceptable. We as Windows 10 app developers benefit from all these improvements and I will cover these topics as we progress through learning about XAML for Windows 10 apps.

In the next post we will create the obligatory “Hello XAML” app and start learning about this powerful app platform.