UIML
Encyclopedia
UIML is an XML
Extensible Markup Language
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....

 language for defining user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...

s 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:





In theory then you could use that description to generate user interfaces for different platforms, like PDA
Personal digital assistant
A personal digital assistant , also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. Current PDAs often have the ability to connect to the Internet...

s. In practice, the different capabilities of those different platforms make a complete translation difficult. Other less ambitious domain-specific programming language
Domain-specific programming language
In software development and domain engineering, a domain-specific language is a programming language or specification language dedicated to a particular problem domain, a particular problem representation technique, and/or a particular solution technique...

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 XAML. These languages do a better job usually, but are less flexible.

Today, UIML is being standardized by OASIS
OASIS (organization)
The Organization for the Advancement of Structured Information Standards is a global consortium that drives the development, convergence and adoption of e-business and web service standards...

.

A separate effort with the same goals as UIML is UsiXML
UsiXML
UsiXML is an XML-based markup language for defining user interfaces on computers.UsiXML is a specification language for user interface design. It allows the designer to describe a user interface at different levels of abstraction...

.

UIML implementations

  • jUIML – An implementation in 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...

     Swing
    Swing (Java)
    Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes — an API for providing a graphical user interface for Java programs....


  • 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 source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK