Markeringssprog for brugergrænseflade - User interface markup language
Et brugergrænsefladesmarkeringssprog er et markeringssprog, der gengiver og beskriver grafiske brugergrænseflader og kontroller. Mange af disse markeringssprog er dialekter af XML og er afhængige af en allerede eksisterende scriptsprogmotor , normalt en JavaScript- motor, til gengivelse af kontroller og ekstra scriptability.
Konceptet med brugergrænseflademarkeringssprog er primært baseret på ønsket om at forhindre " genopfindelsen af hjulet " i design, udvikling og funktion af en brugergrænseflade; sådan genopfindelse kommer i form af kodning af et script til hele brugergrænsefladen. Det typiske brugergrænsefladesmarkeringssprog størkner ofte genbrugt program eller scriptkode i form af markup, hvilket gør det lettere at fokusere på design af en brugergrænseflade på en forståelig dialekt i modsætning til fokus på funktion.
Brugergrænseflade-markeringssprog, ligesom de fleste markup- og programmeringssprog, er afhængige af underprogrammets runtimes for at fortolke og gengive markup-koden som programkode, der kan behandles og sættes i den ønskede form. I XML-baserede markeringssprog for brugergrænseflader fortolkes markeringen normalt og repræsenteres som et træ af noder, der kan manipuleres ved runtime af programmets kode eller dynamisk indlæste brugerscript .
Markeringssprog for brugergrænseflade
XFD
XFD, der står for X ML F orm D efinition, er brugergrænsefladens markeringssprog bag STARLIMS -produktet ( http://www.starlims.com ), udviklet af Abbott Informatics. STARLIMS -produktet har et helt økosystem af runtime- og designtidsværktøjer til at køre og oprette visuelle former ved hjælp af XFD -sprog. STARLIMS v10 drives af en XFD -runtime udviklet ved hjælp af Microsoft .NET Framework og hostet i Internet Explorer -browseren. STARLIMS v11 introducerer en ekstra XFD-motor baseret på en transformationsmotor på serversiden, der omdanner XFD til HTML5-kompatible data, der er designet til at køre i enhver HTML5-kompatibel browser. XFD kan programmeres i JavaScript -baseret sprog.
QML
QML er et cross-platform markup-sprog til oprettelse af hardware-accelererede OpenGL-drevne brugergrænseflader til enheder lige fra mobil til desktop. QML -grænseflader manipuleres ved hjælp af JavaScript -sproget. QML er en del af Qt Project , skabt af Trolltech, dengang ejet af Nokia og nu ejet af Digia.
MXML
MXML er det XML-baserede sprog til brugergrænseflade, der blev introduceret af Macromedia i marts 2004. Det er nu en del af Open Source ( http://opensource.adobe.com ) Adobe Flex SDK version 4. MXML-filer kompileres til Flash SWF via Flex SDK og gengives enten i internetbrowseren, via Adobe Flash- plug-in eller som enkeltstående cross-platform-applikationer via Open Source Adobe AIR SDK.
UIML
OASIS UIML er et XML-baseret standardsprog til markering af brugergrænseflader. Det er en åben standard, hvor implementeringen ikke er begrænset til en enkelt leverandør.
XUL
Det primære grænsefladesprog for Mozilla Foundation -produkter er XUL . XUL -dokumenter gengives af Gecko -motoren, som også gengiver XHTML- og SVG -dokumenter. Det samarbejder med mange eksisterende standarder og teknologier, herunder CSS , JavaScript , DTD og RDF .
UsiXML
UsiXML (som står for Us er I nterface E x tensible M arkup L anguage ) er et XML-kompatibelt markeringssprog, der beskriver brugergrænsefladen til flere brugskontekster, f.eks. Tegnbrugergrænseflader (CUI'er), grafiske brugergrænseflader (GUI'er), auditiv Brugergrænseflader og multimodale brugergrænseflader. Med andre ord kan interaktive applikationer med forskellige former for interaktionsteknikker, anvendelsesmåder og computingsplatforme beskrives på en måde, der bevarer designet uafhængigt af særegenheder ved fysisk computingplatform.
WTKX
WTKX er et XML-baseret markupsprog, der bruges til at bygge Apache Pivot- applikationer. Selvom det mest almindeligt bruges til at definere strukturen i en applikations brugergrænseflade, kan det bruges til at deklarativt konstruere enhver form for Java -objekthierarki.
XAL
eXtensible Application Language er markeringssproget i Nexaweb's Enterprise Web 2.0 Suite. Udviklere kan bruge dette sprog til at definere applikationer, der kører som en Java -klient eller en Ajax -klient.
SVG
Skalerbar vektorgrafik er et markupsprog til grafik foreslået af W3C, der kan understøtte fyldig grafik til web- og mobilapplikationer. Selvom SVG ikke er et brugergrænsefladesprog, inkluderer det understøttelse af vektor-/rastergrafik, animation, interaktion med DOM og CSS, integrerede medier, begivenheder og scriptability. Når disse funktioner bruges i kombination, er rige brugergrænseflader mulige.
SVG kan også overlejres på et andet XML-kompatibelt brugergrænsefladesmarkeringssprog, såsom XUL og XForms , som den grafikrige del af en brugergrænseflade.
TUIX
TUIX er et XML -baseret markupsprog til at definere brugergrænseflader i Tribiq CMS. Udviklere kan definere både grænsefladernes udseende og deres interaktioner. TUIX -filerne fra forskellige plugins flettes, før de gøres lettere at ændre eksisterende grænseflader og tilføje ny funktionalitet.
XAML
XAML er et markup -system, der ligger til grund for brugergrænsefladekomponenter i Microsofts .NET Framework 3.0 og nyere. Dets omfang er mere ambitiøst end det for de fleste brugergrænseflademarkeringssprog, da programlogik og stilarter også er integreret i XAML -dokumentet. Funktionelt kan det ses som en kombination af XUL, SVG, CSS og JavaScript i et enkelt XML -skema.
Nogle mennesker er kritiske over for dette design, da der findes mange standarder (f.eks. Dem, der allerede er angivet) for at gøre disse ting. Det forventes dog at blive udviklet med et visuelt værktøj, hvor udviklere ikke engang behøver at forstå de underliggende markeringer.
I3ML
I3ML er en proprietær tynd klientapplikationsleveringsmekanisme udviklet af CoKinetic Systems Corp , med klientsupport leveret af et browser-plugin, der gengiver Windows-lignende applikationer over en HTTP-infrastruktur med minimale båndbreddebehov.
OpenLaszlo (LZX)
OpenLaszlo er et runtime -miljø, der omfatter et runtime -miljø og et sprog til grænseflade -definition (Laszlo XML - LZX). LZX er et deklarativt brugergrænsefladesprog, der definerer widgets, applikationslayout og scriptingelementer (ved hjælp af JavaScript) til at oprette din applikation. LZX er runtime -agnostiker, hvor den aktuelt understøttede runtime er inden for Macromedia/Adobe Flash. En eksperimentel runtime kaldet Laszlo "Legals", der tillader OpenLaszlo (LZX) applikationer at køre i flere runtime -miljøer, f.eks. DHTML/AJAX.
HMVCUL
H ierarchical M odel V isn C ontroller U ser jeg nterface L anguage ( HMVCUL ) er en XML markup brugergrænseflade sprog, som støtter oprettelsen og kædning af atomare MVC triade komponenter, der anvendes ved konstruktion HMVC GUI applikationer. Den tilhørende runtime giver metoder, der muliggør konfiguration af egenskaber, databinding og hændelser for hvert af MVC -triadeelementerne (widget, controller, model). Køretiden opnår dette ved at kortlægge XML -elementer, der er defineret i en HMVCUL -fil, til objekter inde i rammen, attributter til egenskaber eller til begivenheder. Kæden opnås ved at følge træstrukturen beskrevet i HMVCUL -filen.
WasabiXML
WasabiXML er et XML -markeringssprog , der bruges til at definere den grafiske grænseflade i Wasabi -drevne applikationer. Det bruges mest sammen med Winamp til fremstilling af Winamp -skind . WasabiXML var blevet udviklet af Nullsoft til Winamp, men det kan også bruges med andre applikationer med Wasabi SDK .
Rodelementet i WasabiXML er <WasabiXML>(for Winamp -skind er det også <WinampAbstractionLayer>). Det <skininfo>element viser oplysninger for en hud. Den grafiske grænseflade holdes af <container>elementet, og det grundlæggende synlige GUI -element er <layout>. Følgende er et eksempel på en simpel GUI med et knapelement:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<WinampAbstractionLayer version="1.2">
<skininfo>
<version>1</version>
<name>mySkin</name>
<comment>Ooo Lala</comment>
<author>Some Person</author>
<email>[email protected]</email>
<homepage>http://www.example.org</homepage>
</skininfo>
<include file="xml/color-sys.xml"/> <!-- Include a file -->
<container id="normal">
<layout id="normal" desktopalpha="true">
<button
x="0" y="0"
id="button.normal"
image="mybutton.image"
hoverimage="mybutton.himage"
downimage="mybutton.dimage"
/>
</layout>
</container>
</WinampAbstractionLayer>
WasabiXML understøtter mange GUI -elementer, herunder:
<button><text><vis><eqvis><layer><animatedlayer>-
<groupdef>bruges sammen med<group>
<groupdef>giver udvikleren mulighed for at definere en gruppe GUI-objekter, der kan genbruges overalt i huden. Wasabi understøtter også XUI'er, som ikke er andet end <groups>drevet af et MAKI -script, der gør det muligt for udviklere at oprette GUI -komponenter (widgets) på egen hånd, hvilket tilføjer til modularitet.
WasabiXML har et XML -navneområde 'Wasabi ::', der definerer fælles GUI'er uden at skulle behøve at angive deres billedstier.
MARIA
MARIA er et universelt, deklarativt , multipelt abstraktionsniveau , XML -baseret sprog til modellering af interaktive applikationer i allestedsnærværende miljøer.
FXML
FXML er et XML -baseret sprog til at definere brugergrænsefladen for JavaFX -applikationer.
Andet
Andre markup -sprog, der er indarbejdet i eksisterende rammer, er:
Apples Interface Builder .xib -format
Nogle af disse er samlet til binære former.
I flyelektronik , den ARINC 661 standarden foreskriver et binært format til at definere brugergrænseflader i glascockpitter .
Borland VCL -formularer (.dfm og .lfm) er tekstfiler, der beskriver vinduerne i Delphi og Lazarus -applikationer. De samles til den endelige eksekverbare i binært format og bruger RTTI til at fungere.