Extensible Application Markup Language
拡張子 | .xaml |
---|---|
MIMEタイプ | application/xaml+xml |
開発者 | マイクロソフト |
種別 | マークアップ言語 |
派生元 | XML |
Extensible Application Markup Language(XAML、ザムルと発音する[1])は、オブジェクトやプロパティ、あるいはそれらの関係や相互作用を定義するために用いられるXMLベースの宣言的言語である。XAMLという略語はもともと「Extensible Avalon Markup Language」に由来していた。AvalonとはWindows Presentation Foundation (WPF) のコードネームである。
XAMLは.NET Framework 3.0以降のテクノロジにおいて広範囲にわたって使われている。とりわけ、Windows Presentation Foundation (WPF) および Silverlightにおいてユーザーインタフェース要素やデータバインディング、イベント処理、などを定義するために、また、Windows Workflow Foundation (WF) においてワークフローそのものを定義するために用いられる。なお、Windows 8およびWindows RTで利用できるWinRT APIを使用したWindowsストアアプリでは、.NETアプリケーションに限らずネイティブアプリケーションでもXAMLを使ってUIを構築することが可能となっている。
XAMLにおける要素 (element) はCLRにおけるオブジェクトインスタンスに、属性 (attribute) はCLRにおけるプロパティやイベントに対応する。典型的には、XAMLファイルはMicrosoft Expression Blend、Microsoft Visual Studio、XAMLPadのような開発ツールによって生成される。XAMLファイルは.bamlファイル(バイナリファイル)にコンパイルされ、リソースとして.NET Frameworkアセンブリに含められる。実行時には、CLRがアセンブリのリソースから.bamlファイルを抽出・解析し、WPFのユーザーインターフェイス要素やワークフローを作成する。
WPFにおいては、XAMLはAdobe Flashのように表現豊かなユーザーインタフェースを記述することができる。他のXMLベースのユーザーインタフェース記述言語にはXULやUIMLがある。XAMLは単純な2Dグラフィックスだけでなく3Dオブジェクトも記述することが可能で、さらに回転・拡大縮小といった変形に加えて、アニメーションやその他の多彩な効果を表現することができる。
XAMLで記述できるものは何でもC#やVB .NETなどといった.NET言語でも記述することができる。しかし、重要なことはXAMLがXMLベースであるが故に開発ツール(RADツール)の設計が容易であるという点だ。その結果、特にWPFにおいて、XAMLファイルを生成するためのさまざまなツールが開発されている。また、XMLなので分析者・デザイナ・開発者がそれぞれの立場から製品に関与することが容易になっている。
脚注
関連項目
外部リンク
- Intoroducing "Longhorn" for Developers 第3章 コントロールとXAML
- MSDN Library XAML Overview