AUIML: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
Application User Interface Markup Language, or [[AUIML]], is a replacement for HTML+CSS+JavaScript that is designed from the ground up to support a user experience equivalent to that of desktop GUI or specialized mobile "apps", while also supporting HTML's built-in ability to display rich text and media and preserving the URL concept for addressing content. | Application User Interface Markup Language, or [[AUIML]], is a replacement for HTML+CSS+JavaScript that is designed from the ground up to support a user experience equivalent to that of desktop GUI or specialized mobile "apps", while also supporting HTML's built-in ability to display rich text and media and preserving the URL concept for addressing content. | ||
''see also: [[IOML]]'' | |||
==Concepts== | ==Concepts== | ||
* Any given URL delivers a '''Document'''. | * Any given URL delivers a '''Document'''. | ||
Line 24: | Line 26: | ||
******** {{xml/attr/val|event|key.press}} - any key (not necessarily a character) pressed (also sends release) | ******** {{xml/attr/val|event|key.press}} - any key (not necessarily a character) pressed (also sends release) | ||
******** {{xml/attr/val|event|key.change}} - a keypress caused a change in the text contents | ******** {{xml/attr/val|event|key.change}} - a keypress caused a change in the text contents | ||
Notes: | Notes: | ||
Line 30: | Line 31: | ||
** a Document is also an Area, so if you want to use the whole Document as an Area, you don't need an {{xml/tag|area}} tag | ** a Document is also an Area, so if you want to use the whole Document as an Area, you don't need an {{xml/tag|area}} tag | ||
** an Area is also a Layer, so if you only need one Layer you don't need to also define a {{xml/tag|layer}} tag | ** an Area is also a Layer, so if you only need one Layer you don't need to also define a {{xml/tag|layer}} tag | ||
==Related== | |||
* {{l/wp|Microsoft Silverlight}} |
Latest revision as of 19:37, 31 August 2021
Application User Interface Markup Language, or AUIML, is a replacement for HTML+CSS+JavaScript that is designed from the ground up to support a user experience equivalent to that of desktop GUI or specialized mobile "apps", while also supporting HTML's built-in ability to display rich text and media and preserving the URL concept for addressing content.
see also: IOML
Concepts
- Any given URL delivers a Document.
- A Document contains one or more Views, equivalent to media type in CSS
- <view [input] window=scroll/page>
- attributes:
- [input]: if present, the view accepts input (keyboard, mouse, touchscreen, media); if not, it is read-only (like a printout or slide)
- window=scroll indicates that the view scrolls within the Document
- window=page indicates that the view must be divided into fixed-size pages
- <area> - a rectangular region within a Window
- <layer> - stacked renderings within an Area
- <widget type=... event=...>: display widget
- type=... values:
- type=text: displays text; can react to clicks or selections
- type=image: displays an image; can react to clicks, drags
- event=... values:
- click events (sends both click and unclick events):
- event=click.l - left-click
- event=click.r - right-click
- event=click.m - middle-click
- event=drag - drag with whatever button was clicked
- event=drop - something was dropped onto the widget (there's data)
- keyboard events:
- event=key.press - any key (not necessarily a character) pressed (also sends release)
- event=key.change - a keypress caused a change in the text contents
- click events (sends both click and unclick events):
- type=... values:
- <widget type=... event=...>: display widget
- <layer> - stacked renderings within an Area
- attributes:
- <view [input] window=scroll/page>
Notes:
- To simplify constructing simple pages:
- a Document is also an Area, so if you want to use the whole Document as an Area, you don't need an <area> tag
- an Area is also a Layer, so if you only need one Layer you don't need to also define a <layer> tag