Comparison of user interface markup languages

Last updated

The following tables compare general and technical information for some user interface markup languages. Please see the individual markup languages' articles for further information.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

Contents

General information

Basic general information about the markup languages: creator, version, etc.

CreatorLicenseFirst public release dateLatest stable version development environment Runtime environment
avg Ulrich von ZadowFree, LGPL 20031.0.0 text editor or Eclipse Python
FXML Oracle Corporation ?October 2011 Netbeans JavaFX
GladeXML GNOME Free, LGPL April 19982.10.0 Glade GTK+
GNUstep Renaissance GNUstep Free, LGPL April 2001 (base)0.9.0 Gorm, ProjectCenter [1] GNUstep
LZX Laszlo Systems Free, CPL July 20034.9optional (e.g., text editor, Eclipse IDE available) Flash Player 5 or above, DHTML, Java ME announced
MXML Adobe Systems Free, MPL 1.1March 20042.0.1 Adobe Flex or free Flex 3 SDK Flash Player 9 or above
Qt Designer Qt Project,
The Qt Company
Free, LGPL ?5.9 Qt Designer Qt
QuiX inno:script Proprietary, commercial June 20050.5 Quill UI Designer Internet Explorer, Mozilla based browsers
UIML OASIS ?December 1997?various jUIML, UIML.Net, various
Vexi Vexi opensource groupFree, GPL, LGPL April 20043.0optional (e.g., text editor)Internet Explorer, Mozilla based browsers, Opera, Chrome, Native Java environments
XAML Microsoft Free, Ms-PL November 2006v2009 [2] optional (e.g., text editor), Microsoft Expression Blend, Microsoft Expression Design, Visual Studio 2008, Vectropy .NET Framework 3.0 or above (formerly WinFX), XBAPs for WPF and plugins for Silverlight in internet browsers
XRC wxWidgets Free, wxWindows Library [3] ?wxWidgets 2.8.12optional (e.g., text editor), wxGlade, XRCed, wxDesigner, DialogBlocks wxWidgets-based applications
XUL Mozilla Foundation Free, MPL December 19981.0 [4] optional (e.g., text editor) Gecko-based applications
XAL Nexaweb Proprietary, commercial January 20004.5optional (e.g., text editor, Eclipse IDE available) Java JRE 1.1 and up, MSJVM, DHTML
XFD (user interface)Abbott Informatics?2004 JScript .NET, JavaScript STARLIMS v 10-11
XForms World Wide Web Consortium Free, W3C 14 March 20061.0 [5] optional (e.g., text editor)Many implementations in browsers, plug-ins, extensions, and servers
ZUML Potix free, GPL, commercial November 20052.4.0 text editor or Eclipse Ajax ZK Framework
CreatorLicenseFirst public release dateLatest stable version development environment Runtime environment

Features

Some features of the markup languages.

Programming language Treatment Web standard
GladeXML C, C++, C#, Python, Ada, Pike, Perl, PHP, Eiffel, Ruby, D Interpreted, compiled for some languages (deprecated) XML
GNUstep Renaissance Objective-C Compiled, dynamic binding XML
LZX XML, ECMAScript Compiled XML, ECMAScript, CSS, XPath
MXML ActionScript Compiled XML, ECMAScript, CSS
Qt/QML C++, JavaScript (Plus many more by third party support)Compiled, interpreted XML
QuiX JavaScript Interpreted XML, CSS, JavaScript
UIML VariousVarious?
XAML Browser (Silverlight); JavaScript, IronPython, IronRuby, C#, VB.NET, C++/CLI, and J# among others.Interpreted, compiled XML, XPath, DOM, JavaScript
XRC C++, Python (wxPython), Perl (wxPerl), C# and other .NET languages (wx.NET), Erlang (wxErlang)Various XML
XUL JavaScript, Python, C++, Java, Perl Interpreted, compiled (C++) XML, CSS, DTD, RDF, XPath, XSLT, DOM, JavaScript (ECMAScript)
ZUML Java, JavaScript, Ruby, Groovy and Python Interpreted, compiled XML, XHTML, CSS
Programming language Treatment Web standard

See also

JavaFX

JavaFX is a software platform for creating and delivering desktop applications, as well as rich Internet applications (RIAs) that can run across a wide variety of devices. JavaFX is intended to replace Swing as the standard GUI library for Java SE, but both will be included for the foreseeable future. JavaFX has support for desktop computers and web browsers on Microsoft Windows, Linux, and macOS. Since the JDK 11 release in 2018, JavaFX is part of the open-source OpenJDK, under the OpenJFX project. Oracle 'Premier Support' for JavaFX is also available, for the current long-term version, through March 2022.

Related Research Articles

Website set of related web pages served from a single web domain

A website or web site is a collection of related network web resources, such as web pages, multimedia content, which are typically identified with a common domain name, and published on at least one web server. Notable examples are wikipedia.org, google.com, and amazon.com.

Adobe FrameMaker document processor for the production and manipulation of large structured documents

Adobe FrameMaker is a document processor designed for writing and editing large or complex documents, including structured documents. It was originally developed by Frame Technology Corporation, which was bought by Adobe.

Adobe InDesign desktop publishing application

Adobe InDesign is a desktop publishing and typesetting software application produced by Adobe Systems. It can be used to create works such as posters, flyers, brochures, magazines, newspapers, presentations, books and ebooks. InDesign can also publish content suitable for tablet devices in conjunction with Adobe Digital Publishing Suite. Graphic designers and production artists are the principal users, creating and laying out periodical publications, posters, and print media. It also supports export to EPUB and SWF formats to create e-books and digital publications, including digital magazines, and content suitable for consumption on tablet computers. In addition, InDesign supports XML, style sheets, and other coding markup, making it suitable for exporting tagged text content for use in other digital and online formats. The Adobe InCopy word processor uses the same formatting engine as InDesign.

Extensible Application Markup Language is a declarative XML-based language developed by Microsoft that is used for initializing structured values and objects. It is available under Microsoft's Open Specification Promise. The acronym originally stood for Extensible Avalon Markup Language, Avalon being the code-name for Windows Presentation Foundation (WPF).

Windows Forms (WinForms) is a graphical (GUI) class library included as a part of Microsoft .NET Framework or Mono Framework, providing a platform to write rich client applications for desktop, laptop, and tablet PCs. While it is seen as a replacement for the earlier and more complex C++ based Microsoft Foundation Class Library, it does not offer a comparable paradigm and only acts as a platform for the user interface tier in a multi-tier solution.

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 Apache Flex.

Single-source publishing, also known as single-sourcing publishing, is a content management method which allows the same source content to be used across different forms of media and more than one time. The labor-intensive and expensive work of editing need only be carried out once, on only one document; that source document can then be stored in one place and reused. This reduces the potential for error, as corrections are only made one time in the source document.

A graphical user interface builder, also known as GUI designer, is a software development tool that simplifies the creation of GUIs by allowing the designer to arrange graphical control elements using a drag-and-drop WYSIWYG editor. Without a GUI builder, a GUI must be built by manually specifying each widget's parameters in source-code, with no visual feedback until the program is run.

OpenLaszlo

OpenLaszlo is a discontinued open-source platform for the development and delivery of rich Internet applications. It is released under the Open Source Initiative certified Common Public License (CPL).

Windows Presentation Foundation (WPF) is a graphical subsystem originally developed by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0 in 2006. WPF uses DirectX and attempts to provide a consistent programming model for building applications. It separates the user interface from business logic, and resembles similar XML-oriented object models, such as those implemented in XUL and SVG.

UIML 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 in declarative terms and abstract it. Abstracting means that you don't exactly specify how the user interface is going to look, but rather what elements are to be shown, and how should they behave. For example, to describe a message window, you could write:

The European Committee for Interoperable Systems (ECIS) is an international non-profit association founded in 1989 in order to promote interoperability and market conditions in the Information and Communications Technology (ICT) sector allowing vigorous competition on the merits and a diversity of consumer choice. ECIS has represented its members on many issues related to interoperability and competition before European, national and international bodies, including the European Union institutions and the World Intellectual Property Organization (WIPO). ECIS members include large and smaller information and communications technology hardware and software providers as Adobe Systems, Corel Corporation, IBM, Linspire, Nokia, Opera Software, Oracle Corporation, RealNetworks, Red Hat, and Sun Microsystems.

Model–view–viewmodel (MVVM) is a software architectural pattern.

FXML is an XML-based user interface markup language created by Oracle Corporation for defining the user interface of a JavaFX application.

'Windows Runtime XAML Framework' is a user interface API that is part of the Windows Runtime (WinRT) programming model that forms the backbone of Windows Store apps for the Windows 8, Windows 8.1 and Windows Phone 8.1 operating systems. It enables declaring user interfaces using Extensible Application Markup Language (XAML) technology.

References

  1. http://www.gnustep.org/experience/ProjectCenter.html
  2. Microsoft Extensible Application Markup Language (XAML) technical documentation set
  3. "wxWindows Library Licence". Archived from the original on 2010-07-02. Retrieved 2007-08-02.
  4. XUL 1.0 specification
  5. XForms 1.0 second edition