Jump to content

UIML: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Addbot (talk | contribs)
m Bot: Migrating 2 interwiki links, now provided by Wikidata on d:q2467165
Revi, rem. not related
 
(15 intermediate revisions by 15 users not shown)
Line 1: Line 1:
{{Short description|User Interface Markup Language}}
'''UIML''' ('''User Interface Markup Language''') is an [[XML]]-based [[user interface markup language]] for defining [[user interface]]s on computers.
{{Tone|date=February 2023}}
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:
'''UIML''' ('''User Interface Markup Language''') is an [[XML]]-based [[User interface markup language|markup language]] used to define [[User interface|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 programming|declarative terms]] (i.e., as text) and [[Abstraction|abstract]] them. For instance, when describing a message window, a programmer using this language could write:


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


In theory, a programmer could use a description to create user interfaces for various platforms. Though, in practice, these platforms present challenges for comprehensive translation.
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.


Today, UIML is being standardized by [[OASIS (organization)|OASIS]].<ref>{{cite web| url = http://www.uiml.org/|title = UIML.org|accessdate = 2006-07-21}}</ref>
Currently, UIML is undergoing standardization by [[OASIS (organization)|OASIS]], with the latest iteration being UIML 4.0, which was released in 2008.<ref>{{cite web |title=oasis-open.org/committees/uiml |url=https://www.oasis-open.org/committees/uiml |access-date=2018-09-06}}</ref> A parallel effort with similar objectives to UIML is [[UsiXML]].<ref>{{cite web |title=UsiXML.org |url=http://www.usixml.org/ |access-date=2007-01-21}}</ref>
== Implementations ==

* [http://sourceforge.net/projects/juiml jUIML] &ndash; An implementation in [[Java (programming language)|Java]] [[Swing (Java)|Swing]].
A separate effort with the same goals as UIML is [[UsiXML]].<ref>{{cite web| url = http://www.usixml.org/|title = UsiXML.org|accessdate = 2007-01-21}}</ref>
* [https://github.com/jozilla/Uiml.net UIML.Net] &ndash; 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 hosted on [[GitHub]].

== UIML implementations ==
* [http://sourceforge.net/projects/juiml jUIML] &ndash; An implementation in [[Java (programming language)|Java]] [[Swing (Java)|Swing]]

* [http://research.edm.uhasselt.be/~uiml/wiki/Main_Page 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.


== References ==
== References ==
<references/>
<references/>

{{compu-lang-stub}}


[[Category:Open standards]]
[[Category:Open standards]]
[[Category:User interface markup languages]]
[[Category:User interface markup languages]]


{{compu-lang-stub}}

Latest revision as of 19:20, 18 April 2024

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 using this language could write:

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

In theory, a programmer could use a description to create user interfaces for various platforms. Though, in practice, these platforms present challenges for comprehensive translation.

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]

Implementations

[edit]
  • 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 hosted on GitHub.

References

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