UIML

From HandWiki
Short description: User Interface Markup Language

UIML (User Interface Markup Language) is an XML-based markup language used to define user interfaces on computers. The primary purpose of UIML is to streamline the process of developing user interfaces, enabling programmers to describe their interfaces in declarative terms (i.e., as text) and abstract them. For instance, when describing a message window, a programmer utilizing this language would write:

<part class="DialogMessage" name="HelloWorld"/>

In theory, a programmer could utilize such a description to create user interfaces for various platforms, such as PDAs. However, in practice, the distinct capabilities of these platforms present challenges for achieving comprehensive translation. Less ambitious domain-specific programming languages, on the other hand, aim to solely describe user interfaces, or other components of an application or process, within a specific domain, like Windows, for instance. An example of such a language is Microsoft's XAML. These languages often exhibit improved compatibility with other platforms at the cost of tending to be less flexible.

Currently, UIML is undergoing standardization by OASIS, with the latest iteration being UIML 4.0, which was released in 2008.[1]


A parallel effort with similar objectives to UIML is UsiXML.[2]

UIML implementations

  • jUIML – An implementation in Java Swing
  • UIML.Net A free UIML renderer written in C#. It has been developed at the Expertise Centre for Digital Media (Hasselt University, Belgium) and can render a UIML document using different widget sets and different platforms. The software is now hosted on GitHub.

References