List of user interface markup languages
Encyclopedia
Java
- CookSwing http://cookxml.sourceforge.net/cookswing/
- SwiXML http://swixml.org
- SwingML http://swingml.sourceforge.net/
- SwixNG http://swixng.sourceforge.net
- JFCML http://jfcml.sourceforge.net/
- jInterface
- Thinlet http://www.thinlet.com
- VexiVexiThe 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...
http://vexi.sourceforge.net/Vexi Web application user interface platform - XSWT http://sourceforge.net/projects/xswt/ An XML-based GUI-description language for SWT
- JAXX http://sourceforge.net/projects/jaxx/
- ZUML Ajax web application UI generator
- JavaFXJavaFXJavaFX is a software platform for creating and delivering rich Internet applications that can run across a wide variety of connected devices....
- Javabuilders http://code.google.com/p/javabuilders/ Generic declarative UI based around the YAML format for Swing. SWT support planned.
- JEasy http://www.javacooking.com/
- eFace http://www.soyatec.com/eface/ XAML/WPF for Java
See also Open Source XML UI Toolkits in Java
W3C
- XHTMLXHTMLXHTML 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....
- XFDLExtensible Forms Description LanguageExtensible 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 - XFormsXFormsXForms 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
- UIMLUIMLUIML 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
- EMMLEMMLEMML, 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)
- VTMLVTMLVisual 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
- XRCXML ResourceXRC, 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 wxWidgetsWxWidgetswxWidgets 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 RenaissanceGNUstep RenaissanceGNUstep 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
- QMLQMLQML 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
UIMLUIML
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 FoundationMozilla 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'sNexaweb
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: RESTRest
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 GraphicsScalable 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)
OpenLaszloOpenLaszlo
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
VexiVexi
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 WasabiWasabi (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 GUIGui
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:
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 MAKIMaki
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:- MXMLMXMLMXML 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 - VTMLVTMLVisual 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 HomeSiteMacromedia HomeSiteHomeSite 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.