What is XAML?
(Extensible Application Markup Language; pronounced “zammel”)
XAML is a declarative XML-based language that defines objects and their properties in XML. XAML syntax focuses upon defining the UI (user interface) for the Windows Presentation Foundation (WPF) and is therefore separate from the application code behind it.
Although XAML is presently for use on the Windows platform, the WPF/E (Windows Presentation Foundation/Everywhere) initiative will eventually bring XAML to other platforms and devices.
XAML syntax describes objects, properties and their relationships to one another. Generic XAML syntax defines the relationship between objects and children. Properties can be set as attributes or by using ‘period notation’ to specify the object as a property of its parent.
<child property=”x” property=”y”>
<class property=”u” property=”v”/>
Things You Should Know About XAML
Sometimes, XAML and WPF are used interchangeably … they do go hand-in-hand, but they are not the same. XAML is a type of XML-based markup. WPF is a graphics API.
- XAML is different from SVG (Scalable Vector Graphics). According to the W3C’s definition of SVG, it is “a platform for two-dimensional graphics … (with) two parts: an XML-based file format and a programming API for graphical applications.” While XAML is an XML-based file format, it is not an API. XAML also supports things like 3D and controls, which SVG does not.
- One great benefit of XAML is that it helps to separate design and development, which actually helps to improve collaboration and efficiency between designers and software developers. As the XAML markup for an application’s UI remains separate from the remainder of application logic, a designer’s exact layout can be saved in XAML and combined with the application without affecting the development process.
- XAML documents are saved as .xaml files.
What is WPF?
(Windows Presentation Foundation; formerly Avalon)
WPF is the new presentation API (Application Programming Interface) in .NET Framework 3.0 (formerly WinFX).
Users can program directly against the API with .NET, instantiate (render) WPF objects by expressing them in XAML, or employ a mixture of XAML with .NET code behind.
The WPF API has a wide range of functionality, from Windows controls like buttons to 3D graphics, special effects and multimedia. WPF enables the creation of items that presently require different file formats – for example, the equivalent of PDF, HTML, WinForms and Flash can be developed with WPF.
For more details on WPF, check out msdn’s Windows Presentation Foundation section.
What is a XBAP?
(XAML Browser Application; formerly WBA or Web Browser Application)
A XBAP, or XAML Browser Application allows a WPF/XAML-based application to run in an Internet browser without installing on the user’s computer.
Microsoft Corporation states:
[a]pplications can be deployed from a server to a system with a single click. The application then runs in the browser without any interruptions beyond the time needed to download the application. However, unlike … HTML-based applications, XAML Browser Applications have access to the rich features of the Windows Presentation Foundation (formerly code-named “Avalon”) runtime.
Excerpt taken from www.xaml.net