ユーザーインターフェースマークアップ言語は、グラフィカルユーザーインターフェースとコントロールをレンダリングおよび記述するマークアップ言語です。これらのマークアップ言語の多くはXMLの方言であり、コントロールのレンダリングと追加のスクリプト機能のために、既存のスクリプト言語エンジン(通常はJavaScriptエンジン)に依存しています。[ 1 ]
ユーザーインターフェースマークアップ言語の概念は、主にユーザーインターフェースの設計、開発、機能において「車輪の再発明」を防ぐという願望に基づいています。このような再発明は、ユーザーインターフェース全体のためのスクリプトをコーディングするという形で発生します。一般的なユーザーインターフェースマークアップ言語は、頻繁に再利用されるプログラムコードやスクリプトコードをマークアップの形で固定化することで、機能に焦点を当てるのではなく、理解しやすい言語でユーザーインターフェースの設計に集中できるようにします。
ほとんどのマークアップ言語やプログラミング言語と同様に、ユーザーインターフェースマークアップ言語は、サブアプリケーションランタイムに依存して、マークアップコードを処理して目的の形式で出力できるプログラムコードとして解釈およびレンダリングします。XMLベースのユーザーインターフェースマークアップ言語では、マークアップは通常、アプリケーションのコードまたは動的にロードされるユーザースクリプトによって実行時に操作できるノードのツリーとして解釈および表現されます。
HTMLはHyper Text Markup Languageの略で、Webブラウザに表示されるWebページを作成するために使用されるマークアップ言語です。 [ 2 ]多くの場合、 CSS(スタイリング用)やJavaScript (インタラクティブ機能用)と組み合わせて使用されます。HTMLはWebブラウザでサポートされている標準言語であるため、世界のほとんどのWebサイトはHTMLを使用して構築されています。[ 3 ]
XFDはX ML Form Definitionの略で、STARLIMS製品の背後にあるユーザーインターフェースマークアップ言語です(STARLIMS は Abbott Informatics によって開発されました。STARLIMS 製品には、XFD 言語を使用してビジュアル フォームを実行および作成するためのランタイム ツールと設計時ツールの完全なエコシステムがあります。STARLIMS v10 は、Microsoft .NET Framework を使用して開発され、Internet Explorer ブラウザーでホストされる XFD ランタイムによって動作します。STARLIMS v11 では、サーバー側変換エンジンに基づく追加の XFD エンジンが導入され、XFD を HTML5 互換データに変換して、任意の HTML5 準拠ブラウザーで実行できるように設計されています。XFD は JavaScript ベースの言語でプログラミングできます。
QMLは、モバイルからデスクトップまで、さまざまなデバイス向けにハードウェアアクセラレーションに対応したOpenGLベースのユーザーインターフェースを作成するためのクロスプラットフォームマークアップ言語です。QMLインターフェースはJavaScript言語を使用して操作されます。QMLはQtソフトウェアフレームワークの一部です。
MXMLは、2004年3月にマクロメディア社が発表したXMLベースのユーザーインターフェースマークアップ言語です。現在はオープンソース(http://opensource.adobe.com)のAdobe Flex SDKバージョン4の一部となっています。MXMLファイルはFlex SDKを介してFlash SWFにコンパイルされ、 Adobe Flashプラグインを介してWebブラウザ上でレンダリングされるか、オープンソースのAdobe AIR SDKを介してスタンドアロンのクロスプラットフォームアプリケーションとしてレンダリングされます。
OASIS UIMLは、XMLベースの標準ユーザーインターフェースマークアップ言語です。これはオープンスタンダードであり、実装は特定のベンダーに限定されません。
Mozilla Foundation製品の主要なインターフェース言語はXULです。XULドキュメントはGeckoエンジンによってレンダリングされ、このエンジンはXHTMLおよびSVGドキュメントもレンダリングします。また、CSS、JavaScript、DTD、RDFなど、既存の多くの標準規格や技術と連携します。
UsiXML ( User Interface Extensible Markup Languageの略)は、文字ユーザーインターフェース(CUI)、グラフィカルユーザーインターフェース(GUI)、聴覚ユーザーインターフェース、マルチモーダルユーザーインターフェースなど、複数の使用状況におけるユーザーインターフェースを記述するXML準拠のマークアップ言語です。
言い換えれば、異なる種類のインタラクション技術、使用方法、およびコンピューティングプラットフォームを持つインタラクティブアプリケーションは、物理的なコンピューティングプラットフォームの固有の特性とは独立して設計を維持する方法で記述することができる。
WTKXは、 Apache Pivotアプリケーションの構築に使用されるXMLベースのマークアップ言語です。アプリケーションのユーザーインターフェースの構造を定義するために最も一般的に使用されますが、あらゆる種類のJavaオブジェクト階層を宣言的に構築するためにも使用できます。
eXtensible Application Languageは、NexawebのエンタープライズWeb 2.0スイートのマークアップ言語です。開発者はこの言語を使用して、 JavaクライアントまたはAjaxクライアントとして動作するアプリケーションを定義できます。
Scalable Vector Graphicsは、W3C [ 4 ]が提案したグラフィック用のマークアップ言語で、Webアプリケーションやモバイルアプリケーション向けのリッチなグラフィックをサポートします。SVGはユーザーインターフェース言語ではありませんが、ベクター/ラスターグラフィック、アニメーション、DOMおよびCSSとの連携、埋め込みメディア、イベント、スクリプト機能などをサポートしています。これらの機能を組み合わせることで、リッチなユーザーインターフェースを実現できます。
SVGは、 XULやXFormsなどのXML互換のユーザーインターフェースマークアップ言語の上に重ねて、ユーザーインターフェースのグラフィックを豊富に含む部分として使用することもできます。
TUIXは、 Tribiq CMSのユーザーインターフェースを定義するためのXMLベースのマークアップ言語です。開発者は、インターフェースの外観と操作性の両方を定義できます。異なるプラグインのTUIXファイルはレンダリング前にマージされるため、既存のインターフェースの変更や新機能の追加が容易になります。
XAMLは、Microsoftの.NET Framework 3.0以降のユーザーインターフェイスコンポーネントの基盤となるマークアップシステムです。プログラムロジックとスタイルもXAMLドキュメントに埋め込まれるため、その適用範囲はほとんどのユーザーインターフェイスマークアップ言語よりも広範です。機能的には、XUL、SVG、CSS、JavaScriptを単一のXMLスキーマに統合したものと考えることができます。
この設計には批判的な意見もある。なぜなら、既に挙げたような多くの標準規格が既に存在しているからだ。しかし、この設計は、開発者が基となるマークアップを理解する必要すらないビジュアルツールを用いて開発されることが期待されている。
I3MLは、 CoKinetic Systems Corp が開発した独自のシンクライアントアプリケーション配信メカニズムです( 2021年1月23日にWayback Machineにアーカイブ済み)。クライアントサポートはブラウザプラグインによって提供され、最小限の帯域幅でHTTPインフラストラクチャ上でウィンドウのようなアプリケーションをレンダリングします。
OpenLaszloは、ランタイム環境とインターフェース定義言語(Laszlo XML - LZX)で構成されるランタイム環境です。LZXは、ウィジェット、アプリケーションレイアウト、およびスクリプト要素(JavaScriptを使用)を定義してアプリケーションを作成する宣言型ユーザーインターフェース言語です。LZXはランタイムに依存しませんが、現在サポートされているランタイムはMacromedia/Adobe Flashです。Laszlo "Legals"と呼ばれる実験的なランタイムにより、OpenLaszlo(LZX)アプリケーションをDHTML/AJAXなどの複数のランタイム環境で実行できるようになります。
階層型モデルビューコントローラユーザーインターフェース言語(HMVCUL )は、 HMVC GUIアプリケーションの構築に使用されるMVCトライアドコンポーネントの作成と連結をサポートするXMLマークアップユーザーインターフェース言語です。関連するランタイムは、MVCトライアドの各要素(ウィジェット、コントローラ、モデル)のプロパティ、データバインディング、およびイベントの設定を可能にするメソッドを提供します。ランタイムは、HMVCULファイルで定義されたXML要素をフレームワーク内のオブジェクトに、属性をプロパティまたはイベントにマッピングすることでこれを実現します。連結は、HMVCULファイル内で記述されたツリー構造に従うことで実現されます。
MARIAは、ユビキタス環境における対話型アプリケーションをモデル化するための、汎用的で宣言型、複数の 抽象化レベルを持つXMLベースの言語です。
既存のフレームワークに組み込まれているその他のマークアップ言語は以下のとおりです。
AppleのInterface Builderの.xib形式
これらのうちいくつかはバイナリ形式にコンパイルされる。
航空電子機器においては、ARINC 661規格はグラスコックピットのユーザーインターフェースを定義するためのバイナリ形式を規定している。
Borland VCLフォーム(.dfmおよび.lfm)は、 DelphiおよびLazarusアプリケーションのウィンドウを記述するテキストファイルです。これらはバイナリ形式の最終実行ファイルにコンパイルされ、RTTIを使用して動作します。
{{cite web}}:欠落または空欄|title=(ヘルプ)