Język znaczników interfejsu użytkownika — User interface markup language

Język znaczników interfejs użytkownika jest język znaczników nadająca i opisuje graficznych interfejsów użytkownika oraz elementy sterujące. Wiele z tych języków znaczników to dialekty XML i są zależne od istniejącego wcześniej silnika języka skryptowego , zwykle silnika JavaScript , do renderowania kontrolek i dodatkowej skryptowalności.

Koncepcja języków znaczników interfejsu użytkownika opiera się przede wszystkim na chęci zapobieżenia „ ponownemu wynalezieniu koła ” w projektowaniu, rozwoju i funkcji interfejsu użytkownika; takie ponowne wynalezienie ma postać kodowania skryptu dla całego interfejsu użytkownika. Typowy język znaczników interfejsu użytkownika utrwala często ponownie używany kod programu lub skryptu w postaci znaczników, ułatwiając skupienie się na projektowaniu interfejsu użytkownika w zrozumiałym dialekcie, w przeciwieństwie do skupiania się na funkcji.

Języki znaczników interfejsu użytkownika, podobnie jak większość języków znaczników i programowania, polegają na środowiskach wykonawczych podaplikacji, aby interpretować i renderować kod znaczników jako kod programu, który można przetworzyć i przedstawić w żądanej formie. W językach znaczników interfejsu użytkownika opartych na XML, znaczniki są zwykle interpretowane i reprezentowane jako drzewo węzłów, którymi można manipulować w czasie wykonywania przez kod aplikacji lub dynamicznie ładowany skrypt użytkownika .

Języki znaczników interfejsu użytkownika

XFD

XFD, co oznacza X ML F orm D efinition, to język znaczników interfejsu użytkownika w produkcie STARLIMS ( http://www.starlims.com ), opracowany przez firmę Abbott Informatics. Produkt STARLIMS zawiera cały ekosystem narzędzi wykonawczych i narzędzi czasu projektowania do uruchamiania i tworzenia formularzy wizualnych przy użyciu języka XFD. STARLIMS v10 jest zasilany przez środowisko wykonawcze XFD opracowane przy użyciu Microsoft .NET Framework i hostowane w przeglądarce Internet Explorer. STARLIMS v11 wprowadza dodatkowy silnik XFD oparty na silniku transformacji po stronie serwera, który przekształca XFD w dane kompatybilne z HTML5, zaprojektowane do działania w dowolnej przeglądarce zgodnej z HTML5. XFD jest programowalny w języku JavaScript.

QML

QML to wieloplatformowy język znaczników do tworzenia akcelerowanych sprzętowo interfejsów użytkownika opartych na OpenGL dla urządzeń, od urządzeń mobilnych po komputery stacjonarne. Interfejsy QML są manipulowane przy użyciu języka JavaScript. QML jest częścią projektu Qt , stworzonego przez firmę Trolltech, następnie będącego własnością firmy Nokia, a obecnie należącej do firmy Digia.

MXML

MXML to oparty na języku XML język znaczników interfejsu użytkownika wprowadzony przez firmę Macromedia w marcu 2004 r. Obecnie jest on częścią pakietu Open Source ( http://opensource.adobe.com ) pakietu Adobe Flex SDK w wersji 4. Pliki MXML są kompilowane do formatu Flash SWF za pomocą Flex SDK i są renderowane w przeglądarce internetowej za pośrednictwem wtyczki Adobe Flash lub jako samodzielne aplikacje wieloplatformowe za pośrednictwem pakietu Open Source Adobe AIR SDK.

UIML

OASIS UIML to oparte na XML standardowe języki znaczników interfejsu użytkownika. Jest to otwarty standard, którego implementacja nie jest ograniczona do jednego dostawcy.

XUL

Podstawowym językiem interfejsu produktów Mozilla Foundation jest XUL . Dokumenty XUL są renderowane przez silnik Gecko , który renderuje również dokumenty XHTML i SVG . Współpracuje z wieloma istniejącymi standardami i technologiami, w tym CSS , JavaScript , DTD i RDF .

UsiXML

UsiXML (który stoi dla nas er I nterface E x tensible M arkup L anguage) to język znaczników XML zgodnych opisujący interfejs dla wielu kontekstach użycia takich jak interfejsy Charakter użytkownika (Cuis), graficznych interfejsów użytkownika (GUI), słuchowe Interfejsy użytkownika i multimodalne interfejsy użytkownika. Innymi słowy, interaktywne aplikacje z różnymi rodzajami technik interakcji, modalnościami użycia i platformami obliczeniowymi można opisać w sposób, który zachowuje projekt niezależnie od szczególnych cech fizycznej platformy obliczeniowej.

WTKX

WTKX to oparty na XML język znaczników używany do tworzenia aplikacji Apache Pivot . Chociaż jest najczęściej używany do definiowania struktury interfejsu użytkownika aplikacji, może być używany do deklaratywnego konstruowania dowolnego typu hierarchii obiektów Java.

XAL

eXtensible Application Language to język znaczników pakietu Enterprise Web 2.0 firmy Nexaweb. Deweloperzy mogą używać tego języka do definiowania aplikacji, które będą działać jako klient Java lub klient Ajax .

SVG

Scalable Vector Graphics to język znaczników grafiki zaproponowany przez W3C, który może obsługiwać bogatą grafikę dla aplikacji internetowych i mobilnych. Chociaż SVG nie jest językiem interfejsu użytkownika, obejmuje obsługę grafiki wektorowej/rastrowej, animacji, interakcji z DOM i CSS, osadzonych mediów, zdarzeń i skryptowalności. Gdy te funkcje są używane w połączeniu, możliwe są bogate interfejsy użytkownika.

SVG można również nałożyć na inny język znaczników interfejsu użytkownika zgodny z XML, taki jak XUL i XForms , jako bogata w grafikę część interfejsu użytkownika.

TUIX

TUIX to oparty na XML język znaczników do definiowania interfejsów użytkownika w Tribiq CMS. Deweloperzy mogą definiować zarówno wygląd interfejsów, jak i ich interakcje. Pliki TUIX z różnych wtyczek są łączone przed renderowaniem, co ułatwia łatwą modyfikację istniejących interfejsów i dodawanie nowych funkcji.

XAML

XAML to system znaczników, który stanowi podstawę komponentów interfejsu użytkownika Microsoft .NET Framework 3.0 i nowszych. Jego zakres jest bardziej ambitny niż w przypadku większości języków znaczników interfejsu użytkownika, ponieważ logika programu i style są również osadzone w dokumencie XAML . Funkcjonalnie można go postrzegać jako połączenie XUL, SVG, CSS i JavaScript w pojedynczy schemat XML.

Niektórzy ludzie są krytyczni wobec tego projektu, ponieważ istnieje wiele standardów (takich jak te już wymienione) do robienia tych rzeczy. Oczekuje się jednak, że zostanie opracowany z narzędziem wizualnym, w którym programiści nie muszą nawet rozumieć podstawowych znaczników.

I3ML

I3ML to zastrzeżony mechanizm dostarczania aplikacji cienkiego klienta opracowany przez CoKinetic Systems Corp , z obsługą klienta zapewnianą przez wtyczkę przeglądarki, która renderuje aplikacje podobne do systemu Windows za pośrednictwem infrastruktury HTTP przy minimalnych wymaganiach dotyczących przepustowości.

OtwórzLaszlo (LZX)

OpenLaszlo to środowisko uruchomieniowe, które składa się ze środowiska uruchomieniowego i języka definicji interfejsu (Laszlo XML - LZX). LZX to deklaratywny język interfejsu użytkownika, który definiuje widżety, układ aplikacji i elementy skryptów (przy użyciu JavaScript) do tworzenia aplikacji. LZX jest niezależny od środowiska wykonawczego, a obecnie obsługiwane środowisko wykonawcze znajduje się w programie Macromedia/Adobe Flash. Eksperymentalne środowisko wykonawcze o nazwie Laszlo „Legals”, które umożliwi aplikacjom OpenLaszlo (LZX) uruchamianie w wielu środowiskach wykonawczych, takich jak DHTML/AJAX.

HMVCUL

H ierarchical M Odel V iew C ontroller U Ser I nterface L anguage ( HMVCUL ) jest z interfejsu użytkownika znaczników XML, który wspomaga tworzenie i powiązanie atomowej MVC Triada składniki użyte w konstruowaniu aplikacji HMVC graficznych. Powiązane środowisko uruchomieniowe udostępnia metody, które umożliwiają konfigurację właściwości, powiązania danych i zdarzeń każdego z elementów triady MVC (widget, kontroler, model). Środowisko wykonawcze osiąga to poprzez mapowanie elementów XML zdefiniowanych w pliku HMVCUL na obiekty wewnątrz struktury, atrybuty na właściwości lub zdarzenia. Tworzenie łańcuchów odbywa się zgodnie ze strukturą drzewa opisaną w pliku HMVCUL.

WasabiXML

WasabiXML to język znaczników XML, który służy do definiowania interfejsu graficznego w aplikacjach obsługiwanych przez Wasabi . Jest najczęściej używany z Winampem do tworzenia skórek Winampa . WasabiXML został opracowany przez Nullsoft dla Winampa, ale można go również używać z innymi aplikacjami z Wasabi SDK .

Elementem głównym w WasabiXML jest <WasabiXML>(dla skórek Winampa jest to również <WinampAbstractionLayer>). <skininfo>Elementem pokazuje informacje dla skóry. Interfejs graficzny jest utrzymywany przez <container>element, a podstawowym widocznym elementem GUI jest <layout>. Poniżej znajduje się przykład prostego GUI z elementem przycisku:

<?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>info@example.org</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 obsługuje wiele elementów GUI, w tym:

  • <button>
  • <text>
  • <vis>
  • <eqvis>
  • <layer>
  • <animatedlayer>
  • <groupdef> używany w połączeniu z <group>

<groupdef>pozwala programiście zdefiniować grupę obiektów GUI, które mogą być ponownie użyte w dowolnym miejscu w skórze. Wasabi obsługuje również XUI, które są niczym innym, <groups>zasilany przez Maki skrypt pozwalający deweloperom tworzyć komponenty GUI (widgety) własnych dodawanie do modułowości.

WasabiXML ma przestrzeń nazw XML 'Wasabi::', która definiuje wspólne GUI bez konieczności deklarowania ich ścieżek do obrazów.

MARIA

MARIA jest uniwersalnym, deklaratywny , stwardnienie poziom abstrakcji , XML -na język do modelowania aplikacji interaktywnych w wszechobecnych środowiskach.

FXML

FXML to oparty na XML język do definiowania interfejsu użytkownika aplikacji JavaFX .

Inne

Inne języki znaczników włączone do istniejących frameworków to:

Format .xib firmy Apple Interface Builder

Niektóre z nich są kompilowane do postaci binarnych.

W awioniki The ARINC 661 norma nakazuje binarnego formatu definiowania interfejsów użytkownika w szklany kokpit .

Formularze Borland VCL (.dfm i .lfm) to pliki tekstowe opisujące okna aplikacji Delphi i Lazarus . Są one kompilowane do końcowego pliku wykonywalnego w formacie binarnym i do działania używają RTTI .

Zobacz też