XAMLはWebアプリケーションのユーザーインターフェースを記述するためのマークアップ言語です。HTMLと同じくXMLベースであり、「WPF」「Xamarin」「Visual Studio」といったMicrosoft社が手掛ける様々なツールにて画面を作成する際に利用されます。この記事ではXAMLを理解するために初心者でも分かる特徴、利用ツール、基礎知識について簡単に解説していきます。
XAMLとはMicrosoft社が開発・提供するマークアップ言語仕様の一つです。XMLをベースとしたマークアップ言語であり、アプリケーションのユーザーインターフェースを記述するた
めに使用されます。正式名称は『Extensible Application Markup Language』です。「WPF」「Xamarin」「Visual Studio」といったMicrosoft社が手掛ける様々なツールにて画面を作成する際に利用されます。
ツール間で個別のXAML要素の互換性が担保されていない部分はあるものの、様々なフレームワークに渡って基本的に同じ要領で開発できることが大きなメリットです。他にもXAMLの特徴として『学習コストが低い』『C#との相性が良い』『ベクタグラフィックス』などが挙げられます。
XMLとはWorld Wide Web Consortium (W3C)によって策定されるマークアップ言語仕様の一つです。ドキュメント内のデータ構造や内容を示すために用いられます。正式名称は『Extensible Markup Language』です。HTMLはタグが固定化されているものですが、XMLはタグを自由に決めることができます。技術標準化推進団体のW3Cが提供するもののため世界共通のオープンな規格となっております。XMLの特徴として『タグを自由に決められる』『拡張性が高い』『構造の変換』などが挙げられます。
XMLの歴史、特徴などの基礎知識について解説している記事はこちら>>
XMALの読み方は『ザムル』です。XMALの正式名称は「Extensible Application Markup Language」であり、名前の由来は直訳から読み取ると「拡張可能なアプリケーションマークアップ言語」となります。
XAMLの特徴を見ていきましょう。
XAMLは学習コストが低いという特徴があります。必要最低限のXAMLの仕様を理解することで「WPF」などのMicrosoft社が手掛ける様々なツールにて高度な画面を作成することができます。
XAMLはC#との相性が良いという特徴があります。XAMLはUI部分の記述とロジック部分の記述を分けることでWeb開発王道の「HTML+JavaScript」と近い感覚で開発が出来ることや「UI要素の階層が深くなった場合にも構造を把握しやすいよう」に設計されております。中でもXAMLはC#との相性が良く、バックエンドのロジック部分をそれぞれ非同期に動作させることで、レスポンスの向上を図ることができます。
C#のメリット、デメリットなどを解説している記事はこちら>>
XAMLはベクタグラフィックスを採用しているという特徴があります。ベクタグラフィックスとは画像を点の座標と線の数値で表す演算方式のことです。特徴として画像サイズ(解像度)にとらわれない描画が可能なことが挙げられます。また図面やイラストなど、線や面の輪郭がはっきりした画像の作成が得意です。
XAMLを利用するツールを見ていきましょう。
SilverlightとはMicrosoft社が開発・提供するWebブラウザ向けのプラグインです。Web上で動画や音声の再生を実現することが出来ます。Silverlightは元々、『.NET Framework』で提供される『WPF』のWebブラウザ向け縮小版サービスとして開発されたという経緯があります。そのためWPFと同様にXAMLでインターフェースを定義します。またロジックは「C#.net」や「VB.net」などの.NET Frameworkに対応する言語で構成されます。Silverlightの特徴は『クロスプラットフォーム』『高いメディア再生技術』『検索エンジンとの連動』などが挙げられます。2007年に登場し、数多くの場面で利用されてきましたが2021年10月12日にサポートが終了されることが発表されております。
Silverlightの特徴、対応言語などを解説している記事はこちら>>
WPF(Windows Presentation Foundation)とはマイクロソフト社が開発する、.NET Framework 3.0以降に含まれるユーザインタフェースサブシステムです。主にソフトウェアのユーザインターフェース(表示、操作処理など)を開発するための機能が用意されております。WPFの特徴は「グラフィックス(Direct3D)」「Rendering Tier」「柔軟なUIカスタマイズ」などが挙げられます。XAML(ザムル)を用いて従来よりも高い操作性、表現力を持つアプリケーションの外観や動作を効率的に定義することができます。
WPFの特徴や基礎知識などを解説している記事はこちら>>
Xamarin(ザマリン)とは「Mono」や「MonoTouch」などのマルチプラットフォームを開発した企業である『Xamarin社』が提供するクロスプラットフォームアプリ開発環境です。Xamarinは2016年にマイクロソフト社に買収をされております。これを機に2016年4月よりVisual StudioにXamarinが付属する形になりました。クロスプラットフォームアプリ開発環境とはWebアプリ、デスクトップアプリ、スマートフォンアプリなど様々なプラットフォームに対応した開発環境のことでXamarinを使用することによりiOSアプリもAndroidアプリもC#で開発することが可能となりました。他にもXamarinの特徴として『ネイティブアプリの開発が得意』、『コードの共通化』などが挙げられます。
Xamarinの特徴や基礎知識などを解説している記事はこちら>>
Visual Studioとはマイクロソフト社が開発・提供するC#やVisual Basic(VB)向けの統合開発環境(IDE)です。統合開発環境とはソフトウェアの開発において必要な機能を豊富に取り揃えたプログラム環境用パッケージのことです。Visual Studioには開発をする上で必要な全て「コードエディタ」「コンパイラ」「デバッガ」などの様々なツールが集約されております。Visual Studioでは様々な種類が提供されており『Visual Studio Community』『Visual Studio Code』『Visual Studio Online』などが挙げられます。
Visual Studioの特徴や種類などを解説している記事はこちら>>
XAMLの代表的なタグを見ていきましょう。
タグ | 概要 |
Windowsタグ | 全ての親要素となるタグ |
Canvasタグ | グラフィック描写領域を提供するタグ |
Buttonタグ | Buttonオブジェクトを表すタグ |
Labelタグ | Canvas内に配置されたLabelオブジェクトを表すタグ |
DockPanelタグ | HTMLでいうスタイルシートでブロック要素を定義し、その中の要素をalign等でスタックするタグ |
Gridタグ | HTMLでいうテーブルタグ |
XAMLを理解するために初心者でも分かる特徴、利用ツール、基礎知識について簡単に解説させていただきました。XAMLを一言で表すと『Webアプリケーションのユーザーインターフェースを記述するためのマークアップ言語』です。特徴として『学習コストが低い』『C#との相性が良い』『ベクタグラフィックス』などが挙げられます。XAMLについてこの記事に書かれている最低限の内容は理解しておくようにしましょう。