List of user interface markup languages
Encyclopedia

Java



See also Open Source XML UI Toolkits in Java

W3C

  • XHTML
    XHTML
    XHTML is a family of XML markup languages that mirror or extend versions of the widely-used Hypertext Markup Language , the language in which web pages are written....

  • XFDL
    Extensible Forms Description Language
    Extensible Forms Description Language is a class of the Extensible Markup Language originally specified in World Wide Web Consortium Note . See Specifications below for links to the current versions of XFDL. XFDL is a high-level computer language that facilitates defining a form as a single,...

     http://www.w3.org/TR/NOTE-XFDL
  • XForms
    XForms
    XForms is an XML format for the specification of a data processing model for XML data and user interface for the XML data, such as web forms...


Others

  • Curl - also a programming language
  • GladeXML
  • HTMLR
  • UIML
    UIML
    UIML is an XML 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 in declarative terms and abstract it...

  • PSML
  • EMML
    EMML
    EMML, or Enterprise Mashup Markup Language, is an XML markup language for creating enterprise mashups, which are software applications that consume and mash data from variety of sources, often performing logical or mathematical operations as well as presenting data. Mashed data produced by...

  • XWT
  • QuiX
  • XML Sapiens http://www.xmlsapiens.org
  • Bindows
  • Boxely (Website)
  • VTML
    VTML
    Visual Tool Markup Language, 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 user interface and to support additional tag-based languages.It...

  • XHPD
  • XAL
  • MyXaml http://www.myxaml.com
  • XRC
    XML Resource
    XRC, or XML Resource, or XML Based Resource System is a cross-platform XML-based user interface markup language used by wxWidgets. XRC allows graphical user interface elements, such as dialogs, menu bars and toolbars, to be stored as XML, which can be loaded into the application at run-time or...

     - XML Based Resource System is used by wxWidgets
    WxWidgets
    wxWidgets is a widget toolkit for creating graphical user interfaces for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes...

  • libavg
  • GNUstep Renaissance
    GNUstep Renaissance
    GNUstep Renaissance is a development framework that reads XML descriptions of graphical user interfaces from an application bundle and converts them into native widgets and connections at runtime under either GNUstep or Mac OS X....

  • Rapicorn
  • QML
    QML
    QML is a JavaScript-based, declarative language for designing user interface–centric applications. It is part of Qt Quick, the UI creation kit developed by Nokia within the Qt framework...


UIML

UIML
UIML
UIML is an XML 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 in declarative terms and abstract it...

 is the earliest pioneer in user interface markup languages. It is an open standard
Open standard
An open standard is a standard that is publicly available and has various rights to use associated with it, and may also have various properties of how it was designed . There is no single definition and interpretations vary with usage....

 where implementation is not restricted to a single vendor. However, it doesn't attract much attention.

XUL

The primary interface language of Mozilla Foundation
Mozilla Foundation
The Mozilla Foundation is a non-profit organization that exists to support and provide leadership for the open source Mozilla project. The organization sets the policies that govern development, operates key infrastructure and controls trademarks and other intellectual property...

 products is XUL
XUL
In computer programming, XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project. XUL operates in Mozilla cross-platform applications such as Firefox...

. XUL documents are rendered by the Gecko
Gecko (layout engine)
Gecko is a free and open source layout engine used in many applications developed by Mozilla Foundation and the Mozilla Corporation , as well as in many other open source software projects....

 engine, which also renders XHTML
XHTML
XHTML is a family of XML markup languages that mirror or extend versions of the widely-used Hypertext Markup Language , the language in which web pages are written....

 and SVG
Scalable Vector Graphics
Scalable Vector Graphics is a family of specifications of an XML-based file format for describing two-dimensional vector graphics, both static and dynamic . The SVG specification is an open standard that has been under development by the World Wide Web Consortium since 1999.SVG images and their...

 documents. It cooperates with many existing standards and technologies, including CSS
Cascading Style Sheets
Cascading Style Sheets is a style sheet language used to describe the presentation semantics of a document written in a markup language...

, JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

, DTD
Document Type Definition
Document Type Definition is a set of markup declarations that define a document type for SGML-family markup languages...

 and RDF
Resource Description Framework
The Resource Description Framework is a family of World Wide Web Consortium specifications originally designed as a metadata data model...

, which makes it relatively easy to learn for people with background of web programming and design.

XAL

eXtensible Application Language is the Markup language of Nexaweb's
Nexaweb
Nexaweb offers application modernization software and services that target client/server applications developed using popular 4GL tools such as PowerBuilder...

 Enterprise Web 2.0 Suite. Developers can use this language to define applications that will run as a Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 Client or an Ajax
Ajax (programming)
Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...

 Client.

EMML

EMML is a declarative Mashup Domain Specific Language (DSL) aimed at creating enterprise mashups. The EMML language provides a rich set of high-level mashup-domain vocabulary to consume and mash variety of Web data-sources in interesting ways. EMML provides a uniform syntax to invoke heterogeneous service styles: REST
Rest
Rest may refer to:* Leisure* Human relaxation* SleepRest may also refer to:* Rest , a pause in a piece of music* Rest , the relation between two observers* Rest , a 2008 album by Gregor Samsa...

, WSDL, RSS
RSS
-Mathematics:* Root-sum-square, the square root of the sum of the squares of the elements of a data set* Residual sum of squares in statistics-Technology:* RSS , "Really Simple Syndication" or "Rich Site Summary", a family of web feed formats...

/ATOM
Atom
The atom is a basic unit of matter that consists of a dense central nucleus surrounded by a cloud of negatively charged electrons. The atomic nucleus contains a mix of positively charged protons and electrically neutral neutrons...

, RDBMS, and POJO
Pojo
Pojo may refer to:* Pohja, the Swedish name for the Finnish municipality* POJO, abbreviation of Plain Old Java Object in computer programming...

. EMML also provides ability to mix and match diverse data-formats : XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

, JSON
JSON
JSON , or JavaScript Object Notation, is a lightweight text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects...

, JDBC, JavaObjects, and primitive types.

SVG

Scalable Vector Graphics
Scalable Vector Graphics
Scalable Vector Graphics is a family of specifications of an XML-based file format for describing two-dimensional vector graphics, both static and dynamic . The SVG specification is an open standard that has been under development by the World Wide Web Consortium since 1999.SVG images and their...

 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
Document Object Model
The Document Object Model is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents. Aspects of the DOM may be addressed and manipulated within the syntax of the programming language in use...

 and CSS, embedded media, events and scriptability. When these features are used in combination, rich user interfaces are possible.

SVG can also be super-imposed upon another XML-compatible user interface markup language, such as XUL
XUL
In computer programming, XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project. XUL operates in Mozilla cross-platform applications such as Firefox...

 and XForms
XForms
XForms is an XML format for the specification of a data processing model for XML data and user interface for the XML data, such as web forms...

, as the graphics-rich portion of a user interface.

XAML

XAML is a markup system that underlies user interface components of Microsoft's .NET framework
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

 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 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 by 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
OpenLaszlo is an open source platform for the development and delivery of rich Internet applications. It is released under the Open Source Initiative-certified Common Public License ....

 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.

Vexi

Vexi
Vexi
The Vexi project is an international effort to create an easy-to-use platform for the development and delivery of Internet application interfaces outside of the standard browser stack. It has similarities with XUL but runs on top of the Java stack, making it browser independent.-Origins:Sometime...

 is a web application user interface platform. Vexi
Vexi
The Vexi project is an international effort to create an easy-to-use platform for the development and delivery of Internet application interfaces outside of the standard browser stack. It has similarities with XUL but runs on top of the Java stack, making it browser independent.-Origins:Sometime...

 is engineered to be "HTML for applications" where defining rich application user interfaces is simpler than laying out a web page. Applications are defined in a combination of XML and ECMAscript (aka JavaScript). Communication is done over HTTP (e.g. XMLRPC, SOAP, REST, etc.). Vexi
Vexi
The Vexi project is an international effort to create an easy-to-use platform for the development and delivery of Internet application interfaces outside of the standard browser stack. It has similarities with XUL but runs on top of the Java stack, making it browser independent.-Origins:Sometime...

 is designed for the creation of extensible visual components and comes with a mature and fully featured widget library.

WasabiXML

WasabiXML is an XML markup language that is used to define the graphical interface in Wasabi
Wasabi (software)
Wasabi is a "mostly open source" cross-platform application framework and skinnable GUI toolkit. It was developed as the framework for Winamp3, but designed to be flexible and extensible enough to be useful for other programs. Although most of Wasabi was zlib licensed, it depended on code still...

 powered applications. It is most commonly used with Winamp
Winamp
Winamp is a media player for Windows-based PCs and Android devices, written by Nullsoft, now a subsidiary of AOL. It is proprietary freeware/shareware, multi-format, extensible with plug-ins and skins, and is noted for its graphical sound visualization, playlist, and media library features.Winamp...

 for making Winamp skins
Skin (computing)
In computing, a skin is a custom graphical appearance achieved by the use of a graphical user interface that can be applied to specific software and websites to suit the purpose, topic, or tastes of different users....

. WasabiXML had been developed by Nullsoft
Nullsoft
Nullsoft, Inc. is a software house founded in Sedona, Arizona in 1997 by Justin Frankel. Its most known products include the Winamp media player and the SHOUTcast MP3 streaming media server. In recent years, their open source installer system, NSIS, has also risen in popularity as a widely used...

 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
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...

 with a button element:





1
mySkin
Ooo Lala
Some Person
info@example.org
http://www.example.org




x="0" y="0"
id="button.normal"
image="mybutton.image"
hoverimage="mybutton.himage"
downimage="mybutton.dimage"
/>





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
is a native Okinawan musician in Japan who was formerly the vocalist and songwriter for the Okinawa-based band High and Mighty Color. She was the youngest member of the band. She has an older brother who introduced her to the world of music and anime...

 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.

Other

Other markup languages incorporated into existing frameworks are:
  • 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 Internet applications, with products such as Adobe Flex....

     for Macromedia Flash, and
  • VTML
    VTML
    Visual Tool Markup Language, 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 user interface and to support additional tag-based languages.It...

     for Macromedia HomeSite
    Macromedia HomeSite
    HomeSite was an HTML editor owned by Adobe Systems . Unlike WYSIWYG HTML editors such as Microsoft FrontPage and Adobe Dreamweaver, HomeSite was designed for direct editing, or "hand coding," of HTML and other website languages...



Some of these are compiled into binary forms.

In avionics
Avionics
Avionics are electronic systems used on aircraft, artificial satellites and spacecraft.Avionic systems include communications, navigation, the display and management of multiple systems and the hundreds of systems that are fitted to aircraft to meet individual roles...

, the ARINC 661
Arinc 661
ARINC 661 is a standard which aims to normalize the definition of a Cockpit Display System , and the communication between the CDS and User Applications which manage Aircraft avionics functions...

 standard prescribes a binary format to define user interfaces in glass cockpit
Glass cockpit
A glass cockpit is an aircraft cockpit that features electronic instrument displays, typically large LCD screens, as opposed to the traditional style of analog dials and gauges...

s.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK