XAML
読み方:ザムル,ザメル
XAMLとは、Microsoftによって開発された、アプリケーションソフトのユーザーインターフェースを記述するための言語仕様のことである。
XAMLはXMLをベースとしたマークアップ言語であり、例えばHTMLがWebページの構造を定義するように、アプリケーションの外観やボタン配置などを設定することができる。XAMLはMicrosoft .NET 3.0をベースとして構築されているため、アプリケーションの他の機能との連携も図れ、開発もC#などに比べると容易であるという利点がある。
XAMLは概観の配置を設定するだけでなく、ベクタグラフィックスによる描画にも対応しており、ウィンドウのサイズへ合わせた画像を、ウィンドウの大小に合わせて、画質を劣化させることなくサイズ変化させたり、あるいは回転して表示させたりすることができる。映像やアニメーションなどの動画像や、3DCGなども扱えるようになっている。
なお、XAMLのサブセットとして、電子文書のフォーマットであるXPS(XML Paper Specification)が登場している。
ちなみにMozilla FirefoxやMozilla Thunderbirdでは、MicrosoftのXAMLに相当する言語仕様として、「XUL」(XML User Interface Language)と呼ばれるXML系のプレゼンテーション言語が採用されている。
参照リンク
Web における Windows Presentation Foundation: XAML ブラウザ アプリケーション - (Microsoft)
Extensible Application Markup Language
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/11/12 07:28 UTC 版)
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。(2024年2月) |
拡張子 | .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アプリケーションに限らずC++ネイティブアプリケーション[2]でもXAMLを使ってUIを構築することが可能となっている。後発のWindows 10にて対応したユニバーサルWindowsプラットフォーム (UWP) アプリもまたWinRTベースであり、XAMLを利用して開発する。クロスプラットフォームな.NETアプリケーション開発に利用可能なXamarin.Formsでは、UIの記述にXAMLを用いる。
これらのXAMLを利用するテクノロジー間で、個別のXAML要素の互換性については確保されておらず、名称が違っていたり、サポートされていなかったりする要素もあるが、いずれのフレームワークもほぼ同じ要領で開発できることが大きな利点となる。マイクロソフト固有のXAMLは主にWindowsプラットフォームに特化したものだが、XAML Standardと呼ばれる標準化プロジェクトも立ち上げられている[3][4]。
WPFにおける仕様
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であるために分析者・デザイナー・開発者がそれぞれの立場から製品に関与することが容易になっている。
脚注
関連項目
- XUL
- Adobe Flash
- レイアウトマネージャ
- Windows Presentation Foundation
- Silverlight
- Microsoft Expression Blend
- Xamarin
外部リンク
- Intoroducing "Longhorn" for Developers 第3章 コントロールとXAML
- MSDN Library XAML Overview
- Download Extensible Application Markup Language (XAML) from Official Microsoft Download Center: 仕様書
固有名詞の分類
マークアップ言語 | Mathematical Markup Language 文書スキーマ定義言語 Extensible Application Markup Language Efficient XML Interchange Plain Old Documentation |
- Extensible_Application_Markup_Languageのページへのリンク