A user interface markup language is a markup language that renders and describes
graphical
Graphics () are visual images or designs on some surface, such as a wall, canvas, screen, paper, or stone, to inform, illustrate, or entertain. In contemporary usage, it includes a pictorial representation of data, as in design and manufacture ...
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine f ...
s and controls. Many of these markup languages are dialects of
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
and are dependent upon a pre-existing
scripting language
A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled.
A scripting ...
engine, usually a
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
engine, for rendering of controls and extra scriptability.
The concept of the user interface markup languages is primarily based upon the desire to prevent the " re-invention of the wheel" in the design, development and function of a user interface; such re-invention comes in the form of coding a script for the entire user interface. The typical user interface markup language solidifies often re-used program or script code in the form of markup, making it easier to focus upon design of a user interface in an understandable dialect as opposed to focus on function.
User interface markup languages, like most markup and programming languages, rely upon sub-application runtimes to interpret and render the markup code as program code that can be processed and put out in the desired form. In XML-based user interface markup languages, the markup is usually interpreted and represented as a tree of nodes that may be manipulated at runtime by the application's code or dynamically loaded user
script
Script may refer to:
Writing systems
* Script, a distinctive writing system, based on a repertoire of specific elements or symbols, or that repertoire
* Script (styles of handwriting)
** Script typeface, a typeface with characteristics of handw ...
.
User interface markup languages
XFD
XFD, which stands for XML Form Definition is the user interface markup language behind STARLIMS product , developed by Abbott Informatics. STARLIMS product has an entire ecosystem of runtime and design time tools to run and create visual forms using XFD language. STARLIMS v10 is powered by an XFD runtime developed using Microsoft .NET Framework and hosted in Internet Explorer browser. STARLIMS v11 introduces an additional XFD engine based on a server-side transformation engine that transforms the XFD into HTML5 compatible data designed to run on any HTML5 compliant browser. XFD is programmable in JavaScript based language.
QML
QML
QML (Qt Modeling Language) is a user interface markup language. It is a declarative language (similar to CSS and JSON) for designing user interface–centric applications. Inline JavaScript code handles imperative aspects. It is associated wi ...
is a cross-platform markup language for creating hardware-accelerated OpenGL-powered user interfaces for devices ranging from mobile to desktop. QML interfaces are manipulated using the JavaScript language. QML is part of the
Qt Project
The Qt Project is an open collaboration effort to coordinate the development of the Qt software framework. Initially founded by Nokia in 2011, the project is now led by The Qt Company.
History
Haavard Nord and Eirik Chambe-Eng (the origina ...
, created by Trolltech, then owned by Nokia and now owned by Digia.
MXML
MXML
MXML is an XML-based user interface markup language first introduced by Macromedia in March 2004. Application developers use MXML in combination with ActionScript to develop rich web applications, with products such as Apache Flex.
Adobe ...
is the XML-based user interface markup language introduced by Macromedia in March 2004. It is now part of the Open Source (http://opensource.adobe.com)
Adobe Flex
Apache Flex, formerly Adobe Flex, is a software development kit (SDK) for the development and deployment of cross-platform rich web applications based on the Adobe Flash platform. Initially developed by Macromedia and then acquired by Adobe System ...
SDK version 4. MXML files compile into Flash SWF via the Flex SDK, and are rendered either on the internet browser, via
Adobe Flash
Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia software platform used for production of animations, rich web applications, desktop applications, mobile apps, mobile games, and embedded web browser video players. Fla ...
plug-in, or as stand-alone cross-platform applications, via the Open Source
Adobe AIR
Adobe AIR (also known as Adobe Integrated Runtime and is codenamed Apollo) is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applicat ...
SDK.
UIML
OASIS
UIML
UIML (User Interface Markup Language) is an XML-based user interface markup language for defining user interfaces on computers.
Basically UIML tries to reduce the work needed to develop user interfaces. It allows you to describe the user interface ...
is an XML-based standard user interface markup languages. It is an open standard where implementation is not restricted to a single vendor.
XUL
The primary interface language of
Mozilla Foundation
The Mozilla Foundation (stylized as moz://a) is an American non-profit organization that exists to support and collectively lead the open source Mozilla project. Founded in July 2003, the organization sets the policies that govern development, ...
products is
XUL
XUL ( ), which stands for XML User Interface Language, is a user interface markup language developed by Mozilla. XUL is an XML dialect for writing graphical user interfaces, enabling developers to write user interface elements in a manner sim ...
. XUL documents are rendered by the Gecko engine, which also renders
XHTML
Extensible HyperText Markup Language (XHTML) is part of the family of XML markup languages. It mirrors or extends versions of the widely used HyperText Markup Language (HTML), the language in which Web pages are formulated.
While HTML, prior ...
and SVG documents. It cooperates with many existing standards and technologies, including
CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone techno ...
,
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
UsiXML UsiXML (USer Interface eXtensible Markup Language) is an XML-based markup language for defining user interfaces on computers.
UsiXML is a specification language for user interface design. It allows the designer to describe a user interface at diffe ...
(which stands for User Interface Extensible Markup Language) is an XML-compliant markup language that describes the UI for multiple contexts of use such as Character User Interfaces (CUIs), Graphical User Interfaces (GUIs), Auditory User Interfaces, and Multimodal User Interfaces.
In other words, interactive applications with different types of interaction techniques, modalities of use, and computing platforms can be described in a way that preserves the design independently from peculiar characteristics of physical computing platform.
WTKX
WTKX is an XML-based markup language used for building
Apache Pivot
Apache Pivot is an open-source platform for building rich web applications in Java or any JVM-compatible language. It is released under the Apache License version 2.0.
Architecture
Its classes are divided in the following categories:
* Core cl ...
applications. Though it is most commonly used for defining the structure of an application's user interface, it can be used to declaratively construct any type of Java object hierarchy.
XAL
eXtensible Application Language is the Markup language of Nexaweb's Enterprise Web 2.0 Suite. Developers can use this language to define applications that will run as a
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
Client or an
Ajax
Ajax may refer to:
Greek mythology and tragedy
* Ajax the Great, a Greek mythological hero, son of King Telamon and Periboea
* Ajax the Lesser, a Greek mythological hero, son of Oileus, the king of Locris
* ''Ajax'' (play), by the ancient Gree ...
Client.
SVG
Scalable Vector Graphics
Scalable Vector Graphics (SVG) is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium sinc ...
is a markup language for graphics proposed by the W3C that can support rich graphics for web and mobile applications. While SVG is not a user interface language, it includes support for vector/raster graphics, animation, interaction with the
DOM Dom or DOM may refer to:
People and fictional characters
* Dom (given name), including fictional characters
* Dom (surname)
* Dom La Nena (born 1989), stage name of Brazilian-born cellist, singer and songwriter Dominique Pinto
* Dom people, an et ...
and CSS, embedded media, events and scriptability. When these features are used in combination, rich user interfaces are possible.
SVG can also be superimposed upon another XML-compatible user interface markup language, such as
XUL
XUL ( ), which stands for XML User Interface Language, is a user interface markup language developed by Mozilla. XUL is an XML dialect for writing graphical user interfaces, enabling developers to write user interface elements in a manner sim ...
and
XForms
XForms is an XML format used for collecting inputs from web forms. XForms was designed to be the next generation of HTML / XHTML forms, but is generic enough that it can also be used in a standalone manner or with presentation languages other th ...
, as the graphics-rich portion of a user interface.
TUIX
TUIX is an XML based markup language for defining user interfaces in Tribiq CMS. Developers can define both the appearance of the interfaces and their interactions. The TUIX files from different Plugins are merged before rendering facilitating easy modification of existing interfaces and addition of new functionality.
XAML
XAML
Extensible Application Markup Language (XAML ) is a declarative XML-based language that Microsoft developed for initializing structured values and objects. It is available under Microsoft's Open Specification Promise.
XAML is used extensively ...
is a markup system that underlies user interface components of Microsoft's
.NET Framework
The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
3.0 and above. Its scope is more ambitious than that of most user interface markup languages, since program logic and styles are also embedded in the
XAML
Extensible Application Markup Language (XAML ) is a declarative XML-based language that Microsoft developed for initializing structured values and objects. It is available under Microsoft's Open Specification Promise.
XAML is used extensively ...
document. Functionally, it can be seen as a combination of XUL, SVG, CSS, and JavaScript into a single XML schema.
Some people are critical of this design, as many standards (such as those already listed) exist for doing these things. However, it is expected to be developed with a visual tool where developers do not even need to understand the underlying markups.
I3ML
I3ML is a proprietary thin client Application Delivery mechanism developed b CoKinetic Systems Corp with client support provided by a browser plugin that will render windows-like applications over an HTTP infrastructure with minimal bandwidth needs.
OpenLaszlo (LZX)
OpenLaszlo
OpenLaszlo is a discontinued open-source platform for the development and delivery of rich web applications. It is released under the Open Source Initiative certified Common Public License (CPL).
The OpenLaszlo platform consists of the LZX pro ...
is a runtime environment that comprises a runtime environment and an interface definition language (Laszlo XML - LZX). LZX is a declarative user interface language which defines the widgets, application layout and scripting elements (using JavaScript) to create your application. LZX is runtime agnostic with the currently supported runtime being within Macromedia/Adobe Flash. An experimental runtime called Laszlo "Legals" that will allow OpenLaszlo (LZX) applications run in multiple runtime environments, such as DHTML/AJAX.
HMVCUL
Hierarchical Model View Controller User Interface Language (HMVCUL) is an XML markup user interface language which supports the creation and chaining of atomic MVC triad components used in constructing HMVC GUI applications. The associated runtime provides methods which enable configuration of properties, data binding and events of each of the MVC triad elements (widget, controller, model). The runtime accomplishes this by mapping XML elements defined in an HMVCUL file to objects inside the framework, attributes to properties or to events. Chaining is accomplished by following the tree structure described inside the HMVCUL file.
WasabiXML
WasabiXML is an XML markup language that is used to define the graphical interface in
Wasabi
Wasabi ( Japanese: , , or , ; ''Eutrema japonicum'' or ''Wasabia japonica'') or Japanese horseradish is a plant of the family Brassicaceae, which also includes horseradish and mustard in other genera. The plant is native to Japan and the Russi ...
powered applications. It is most commonly used with
Winamp
Winamp is a media player for Microsoft Windows originally developed by Justin Frankel and Dmitry Boldyrev by their company Nullsoft, which they later sold to AOL in 1999 for $80 million. It was then acquired by Radionomy in 2014. Sinc ...
for making Winamp skins. WasabiXML had been developed by
Nullsoft
Nullsoft, Inc. was an American software house founded in Sedona, Arizona, in 1997 by Justin Frankel. Its products included the Winamp media player and the SHOUTcast MP3 streaming media server. In later years, their open source installer s ...
for Winamp, but it is also usable with other applications with the Wasabi SDK.
The root element in WasabiXML is (for Winamp skins, it is also ). The element shows the information for a skin. The graphical interface is held by the element and the basic viewable GUI element is . Following is an example for a simple
GUI
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
with a button element:
1mySkinOoo LalaSome Personinfo@example.orghttp://www.example.org
WasabiXML supports many GUI elements including:
*
*
*
*
*
*
* used in conjunction with allows the developer to define a group of GUI objects which can be re-used anywhere in the skin. Wasabi also supports XUI's which are nothing but powered by a
MAKI
Maki may refer to:
People
*Mäki, a Finnish surname (includes a list of people with the name)
*Maki (name), a Japanese given name and surname (includes a list of people with the name)
Places
*Maki, Ravar, Kerman Province, Iran
*Maki, Rigan, Ke ...
script allowing developers to create GUI components (widgets) of their own adding to modularity.
WasabiXML has an XML namespace 'Wasabi::' which defines common GUI's without having the need to declare their image paths.
abstraction level
In computing, an abstraction layer or abstraction level is a way of hiding the working details of a subsystem. Examples of software models that use layers of abstraction include the OSI model for network protocols, OpenGL, and other graphics li ...
,
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
FXML
FXML is an XML-based user interface markup language created by Oracle Corporation for defining the user interface of a JavaFX
JavaFX is a software platform for creating and delivering desktop applications, as well as rich web applications t ...
is a
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
-based language for defining the user interface of
JavaFX
JavaFX is a software platform for creating and delivering desktop applications, as well as rich web applications that can run across a wide variety of devices. JavaFX has support for desktop computers and web browsers on Microsoft Windows, Linu ...
applications.
Other
Other markup languages incorporated into existing frameworks are:
*
VTML
Visual Tool Markup Language (VTML) is a user interface markup language used by Macromedia HomeSite, ColdFusion Studio and JRun Studio. VTML is used for tag editors and custom dialogs shipped with these applications and can be used to extend the ...
for
Macromedia HomeSite
HomeSite was an HTML editor originally developed by Nick Bradbury. Unlike WYSIWYG HTML editors such as FrontPage and Dreamweaver, HomeSite was designed for direct editing, or "hand coding", of HTML and other website languages.
After a success ...
Apple's Interface Builder .xib format
Some of these are compiled into binary forms.
In
avionics
Avionics (a blend of ''aviation'' and ''electronics'') are the electronic systems used on aircraft. Avionic systems include communications, navigation, the display and management of multiple systems, and the hundreds of systems that are fit ...
, the
ARINC 661
ARINC 661 is a standard which aims to normalize the definition of a Cockpit Display System (CDS), and the communication between the CDS and User Applications (UA) which manage aircraft avionics functions. The GUI definition is completely defined ...
standard prescribes a binary format to define user interfaces in glass cockpits.
Borland VCL forms (.dfm and .lfm) are text files describing the windows of
Delphi
Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
and Lazarus applications. They are compiled into the final executable in binary format, and use
RTTI In computer programming, run-time type information or run-time type identification (RTTI) is a feature of some programming languages (such as C++, Object Pascal, and Ada) that exposes information about an object's data type at runtime. Run-time ty ...
to function.
See also
*
User Interface Modeling User interface modeling is a development technique used by computer application programmers. Today's user interfaces (UIs) are complex software components, which play an essential role in the usability of an application. The development of UIs req ...
Widget toolkit
A widget toolkit, widget library, GUI toolkit, or UX library is a library or a collection of libraries containing a set of graphical control elements (called ''widgets'') used to construct the graphical user interface (GUI) of programs.
Most widge ...
*
List of user interface markup languages
The following is a list of user interface markup languages.
By vendor or platform Flash
*MXML
* OpenLaszlo
Java
* Thinletbr>* ZK Framework, ZUML Ajax web application UI generator
* FXML/JavaFX
See alsOpen Source XML UI Toolkits in Java Microsoft ...
*
Comparison of user interface markup languages The following tables compare general and technical information for some user interface markup languages. Please see the individual markup languages' articles for further information.
General information
Basic general information about the markup la ...