簡介
用戶界面標記語言的概念主要基於用戶界面的設計,避免用戶界面設計、開發和功能上的“
重造輪子”,諸如重新編寫、發明整個用戶界面。典型的用戶界面標記語言以標記形式固化經常重用的程式或腳本代碼,使其更容易以可理解的語言來設計用戶界面,而不是專注於具體的功能。
用戶界面標記語言如大多數標記和程式語言一樣,依賴著子應用程式
運行時來將標記代碼解釋和呈現為可以處理和植入所需形式的程式代碼。在基於XML的用戶界面標記語言中,則傾向於依賴
網路瀏覽器的
排版引擎作為運行時,大多數代碼被重新解釋為JavaScript交給排版引擎。這意味著JavaScript可以用於將用戶界面標記語言擴展到未被排版引擎當前功能所覆蓋的範圍。
用戶界面標記語言
XFD
XFD,表示XMLFormDefinition,是支撐STARLIMS產品 (http://www.starlims.com) 的用戶界面標記語言,由Abbott Informatics開發。STARLIMS產品具有運行時和設計時工具的整套生態系統,使用XFD語言運行和創建可視化表單。
QML
QML是一種跨平台標記語言,用於為移動設備和桌面設備創建有
硬體加速的
OpenGL驅動的用戶界面。QML接口使用JavaScript語言操縱。QML是Qt Project的一部分,,最初由
諾基亞擁有,現在由Digia擁有。
MXML
MXML是基於XML的用戶界面標記語言,由是Macromedia於2004年3月推出。它目前是
開放原始碼(http://opensource.adobe.com)Apache FlexSDK第四版的一部分。MXML檔案通過Flex SDK編譯成Flash
Swf,在網路瀏覽器上通過
Adobe Flash呈現,或者通過開源的
Adobe AIRSDK作為獨立的跨平台應用程式。
UIML
UIML是用戶界面標記語言的最早開拓者。它是一個開源標準,其實現不局限於單一供應商。
XUL
WTKX
WTKX是一種基於XML的標記語言,用於構建Apache Pivot應用程式。。儘管它最常用於定義應用程式用戶界面的結構,它也可以用來聲明性地構造任何類型的Java對象層次結構。
XAL
eXtensible應用程式語言是Nexaweb'sEnterprise Web 2.0包的標記語言。開發人員可以使用這種語言來定義將作為
Java客戶端或
AJAX客戶端運行的應用程式。
SVG
可縮放矢量圖形(SVG)是一種用於圖像的標記語言,由
W3C提議,可為
Web和移動應用程式支持豐富圖形。雖然SVG不是用戶界面語言,但它包括
矢量/
光柵圖形、動畫、與
DOM和CSS互動、嵌入式媒體、事件以及可腳本化的支持。如果組合使用這些功能,有可能製作出豐富的用戶界面。
SVG也可以疊加在另一個XML兼容的用戶界面標記語言上(如
XUL和
XForms),作為用戶界面的富圖形部分。
TUIX
TUIX是一個基於XML的標記語言,用於定義TribiqCMS的用戶界面。開發人員可以定義界面的外觀及其相互作用。不同外掛程式的TUIX檔案在渲染之前被合併,便於修改現有接口和添加新功能。
XAML
XAML是微軟
.NET框架3.0及更高版本的建構用戶界面組件的一種標記系統。它的範圍比大多數用戶界面標記語言更有抱負,其程式邏輯和風格也被嵌入到了
XAML文檔。在功能上,它可以被看作是XUL、SVG、CSS和JavaScript被組合到一種XML模式。
有些人批評這個設計,因為許多標準(例如上文列出的標準)已經在做這些事。但是,預計將會開發一個可視化工具,開發人員甚至不需要了解底層標記。
HMVCUL
分層模型視圖控制器用戶界面語言(HMVCUL)是一種XML標記用戶界面語言,其支持創建和連結用於構建HMVC GUI應用程式的原子MVC三元組件。
WasabiXML
MARIA
FXML
其他
現有框架中的其他標記語言有:
蘋果公司的Interface Builder .xib格式
其中一些被編譯為二進制形式。
Borland VCL窗格(.dfm和.lfm)是描繪
Delphi和
Lazarus應用程式的視窗的文本檔案。它們在最終的執行檔中被編譯為二進制形成,並使用
RTTI來操縱。