Jump to content

UIML: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Removed Broken link
m Task 70: Update syntaxhighlight tags - remove use of deprecated <source> tags
Line 2: Line 2:
Basically UIML tries to reduce the work needed to develop user interfaces. It allows you to describe the user interface in declarative terms (i.e. as text) 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:
Basically UIML tries to reduce the work needed to develop user interfaces. It allows you to describe the user interface in declarative terms (i.e. as text) 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:


<source lang="xml">
<syntaxhighlight lang="xml">
<part class="DialogMessage" name="HelloWorld"/>
<part class="DialogMessage" name="HelloWorld"/>
</syntaxhighlight>
</source>


In theory then you could use that description to generate user interfaces for different platforms, like [[Personal Digital Assistant|PDA]]s. In practice, the different capabilities of those different platforms make a complete translation difficult. Other less ambitious [[domain-specific programming language]]s attempt only to describe the user interfaces (or other parts of the application or process) in a domain (for example Windows). See for example the Microsoft language [[Extensible Application Markup Language|XAML]]. These languages do a better job usually, but are less flexible.
In theory then you could use that description to generate user interfaces for different platforms, like [[Personal Digital Assistant|PDA]]s. In practice, the different capabilities of those different platforms make a complete translation difficult. Other less ambitious [[domain-specific programming language]]s attempt only to describe the user interfaces (or other parts of the application or process) in a domain (for example Windows). See for example the Microsoft language [[Extensible Application Markup Language|XAML]]. These languages do a better job usually, but are less flexible.

Revision as of 18:56, 11 May 2020

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 in declarative terms (i.e. as text) 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:

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

In theory then you could use that description to generate user interfaces for different platforms, like PDAs. In practice, the different capabilities of those different platforms make a complete translation difficult. Other less ambitious domain-specific programming languages attempt only to describe the user interfaces (or other parts of the application or process) in a domain (for example Windows). See for example the Microsoft language XAML. These languages do a better job usually, but are less flexible.

Today, UIML is being standardized by OASIS.[1]

A separate effort with the same goals as 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

  1. ^ "oasis-open.org/committees/uiml". Retrieved 2018-09-06.
  2. ^ "UsiXML.org". Retrieved 2007-01-21.