Язык разметки пользовательского интерфейса

Язык описания пользовательских интерфейсов

Язык разметки пользовательского интерфейса — это язык разметки , который визуализирует и описывает графические пользовательские интерфейсы и элементы управления. Многие из этих языков разметки являются диалектами XML и зависят от уже существующего движка языка сценариев , обычно движка JavaScript , для визуализации элементов управления и дополнительной возможности сценариев.

Концепция языков разметки пользовательского интерфейса в первую очередь основана на желании предотвратить « изобретение колеса » в дизайне, разработке и функционировании пользовательского интерфейса; такое переизобретение происходит в форме кодирования скрипта для всего пользовательского интерфейса. Типичный язык разметки пользовательского интерфейса закрепляет часто повторно используемый программный или скриптовый код в форме разметки, что упрощает сосредоточение на дизайне пользовательского интерфейса на понятном диалекте, а не на функции.

Языки разметки пользовательского интерфейса, как и большинство языков разметки и программирования, полагаются на среды выполнения субприложений для интерпретации и отображения кода разметки как программного кода, который может быть обработан и представлен в желаемой форме. В языках разметки пользовательского интерфейса на основе XML разметка обычно интерпретируется и представляется в виде дерева узлов, которыми можно манипулировать во время выполнения с помощью кода приложения или динамически загружаемого пользовательского скрипта .

Языки разметки пользовательского интерфейса

HTML

HTML, что означает Hyper T ext Markup Language , — это язык разметки, используемый для создания веб-страниц, которые будут отображаться в веб-браузере . [1] Его часто комбинируют с CSS (для стилизации) и JavaScript (для интерактивности). Большинство веб-сайтов в мире созданы с использованием HTML , поскольку это стандартный язык, поддерживаемый веб-браузерами. [2]

XFD

XFD, что означает X ML Form D efinition, — это язык разметки пользовательского интерфейса, лежащий в основе продукта STARLIMS ( [1]), разработанный Abbott Informatics. Продукт STARLIMS имеет целую экосистему инструментов времени выполнения и времени проектирования для запуска и создания визуальных форм с использованием языка XFD. STARLIMS v10 работает на основе среды выполнения XFD, разработанной с использованием Microsoft .NET Framework и размещенной в браузере Internet Explorer. STARLIMS v11 представляет дополнительный механизм XFD, основанный на механизме преобразования на стороне сервера, который преобразует XFD в совместимые с HTML5 данные, предназначенные для запуска в любом браузере, совместимом с HTML5. XFD программируется на языке на основе JavaScript.

QML

QML — кроссплатформенный язык разметки для создания аппаратно-ускоренных пользовательских интерфейсов на базе OpenGL для устройств от мобильных до настольных. Интерфейсы QML обрабатываются с помощью языка JavaScript. QML является частью программного фреймворка Qt .

MXML

MXML — это язык разметки пользовательского интерфейса на основе XML, представленный компанией Macromedia в марте 2004 года. В настоящее время он является частью пакета Adobe Flex SDK с открытым исходным кодом (http://opensource.adobe.com) версии 4. Файлы MXML компилируются в Flash SWF с помощью Flex SDK и отображаются либо в веб-браузере с помощью подключаемого модуля Adobe Flash , либо в виде автономных кроссплатформенных приложений с помощью пакета Adobe AIR SDK с открытым исходным кодом.

UIML

OASIS UIML — это стандартный язык разметки пользовательского интерфейса на основе XML. [ требуется ссылка ] Это открытый стандарт , реализация которого не ограничивается одним поставщиком.

XUL

Основным языком интерфейса продуктов Mozilla Foundation является XUL . Документы XUL визуализируются движком Gecko , который также визуализирует документы XHTML и SVG . Он взаимодействует со многими существующими стандартами и технологиями, включая CSS , JavaScript , DTD и RDF .

UsiXML

UsiXML (что означает расширяемый язык разметки пользовательского интерфейса ) — это язык разметки, совместимый с XML , который описывает пользовательский интерфейс для различных контекстов использования , таких как символьные пользовательские интерфейсы (CUI), графические пользовательские интерфейсы (GUI), слуховые пользовательские интерфейсы и многомодальные пользовательские интерфейсы.

Другими словами, интерактивные приложения с различными типами методов взаимодействия, модальностями использования и вычислительными платформами можно описать таким образом, чтобы сохранить дизайн независимо от особенностей физической вычислительной платформы.

WTKX

WTKX — это язык разметки на основе XML, используемый для создания приложений Apache Pivot . Хотя он чаще всего используется для определения структуры пользовательского интерфейса приложения, его можно использовать для декларативного построения любого типа иерархии объектов Java.

КСАЛ

eXtensible Application Language — это язык разметки Enterprise Web 2.0 Suite от Nexaweb. Разработчики могут использовать этот язык для определения приложений, которые будут работать как Java Client или Ajax Client.

SVG

Масштабируемая векторная графика — это язык разметки для графики, предложенный W3C [3] , который может поддерживать насыщенную графику для веб- и мобильных приложений. Хотя SVG не является языком пользовательского интерфейса, он включает поддержку векторной/растровой графики, анимации, взаимодействия с DOM и CSS, встроенных медиа, событий и возможности скриптования. При использовании этих функций в сочетании возможны насыщенные пользовательские интерфейсы.

SVG также может быть наложен на другой язык разметки пользовательского интерфейса, совместимый с XML, такой как XUL и XForms , в качестве графически насыщенной части пользовательского интерфейса.

ТУИКС

TUIX — это язык разметки на основе XML для определения пользовательских интерфейсов в Tribiq CMS. Разработчики могут определять как внешний вид интерфейсов, так и их взаимодействие. Файлы TUIX из разных плагинов объединяются перед рендерингом, что упрощает изменение существующих интерфейсов и добавление новых функций.

XAML

XAML — это система разметки, которая лежит в основе компонентов пользовательского интерфейса Microsoft .NET Framework 3.0 и выше. Ее сфера применения более амбициозна, чем у большинства языков разметки пользовательского интерфейса, поскольку логика и стили программы также встроены в документ XAML . Функционально ее можно рассматривать как комбинацию XUL, SVG, CSS и JavaScript в одной схеме XML.

Некоторые люди критикуют этот дизайн, так как существует множество стандартов (например, уже перечисленных) для выполнения этих вещей. Однако ожидается, что он будет разработан с помощью визуального инструмента, где разработчикам даже не нужно будет понимать базовую разметку.

I3ML

I3ML — это фирменный механизм доставки приложений для тонкого клиента, разработанный CoKinetic Systems Corp. Архивировано 23 января 2021 г. на Wayback Machine , с поддержкой клиента, обеспечиваемой плагином для браузера, который будет отображать приложения, подобные Windows, через инфраструктуру HTTP с минимальными требованиями к пропускной способности.

OpenLaszlo (LZX)

OpenLaszlo — это среда выполнения, которая включает среду выполнения и язык определения интерфейса (Laszlo XML — LZX). LZX — это декларативный язык пользовательского интерфейса, который определяет виджеты, макет приложения и элементы сценариев (используя JavaScript) для создания вашего приложения. LZX не ​​зависит от среды выполнения, в настоящее время поддерживаемая среда выполнения находится в Macromedia/Adobe Flash. Экспериментальная среда выполнения под названием Laszlo «Legals», которая позволит приложениям OpenLaszlo (LZX) работать в нескольких средах выполнения, таких как DHTML/AJAX.

HMVCUL

H ierarchical Model View Controller User Interface Language ( HMVCUL ) — это язык пользовательского интерфейса разметки XML , который поддерживает создание и цепочку атомарных компонентов триады MVC, используемых при построении приложений HMVC GUI. Соответствующая среда выполнения предоставляет методы, которые позволяют настраивать свойства , привязку данных и события каждого элемента триады MVC (виджет, контроллер, модель). Среда выполнения выполняет это путем сопоставления элементов XML, определенных в файле HMVCUL, с объектами внутри фреймворка, атрибутов со свойствами или с событиями. Цепочка выполняется путем следования древовидной структуре, описанной внутри файла HMVCUL.

ВасабиXML

WasabiXML — это язык разметки XML, который используется для определения графического интерфейса в приложениях на базе Wasabi . Он чаще всего используется с Winamp для создания скинов Winamp . WasabiXML был разработан Nullsoft для Winamp, но его также можно использовать с другими приложениями с Wasabi SDK .

Корневой элемент в WasabiXML — <WasabiXML>(для скинов Winamp это также <WinampAbstractionLayer>). <skininfo>Элемент показывает информацию для скина. Графический интерфейс хранится в элементе <container>, а базовый видимый элемент GUI — <layout>. Ниже приведен пример простого GUI с элементом кнопки:

<?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" /> <!-- Включить файл --> <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 поддерживает множество элементов графического интерфейса, включая:

  • <button>
  • <text>
  • <vis>
  • <eqvis>
  • <layer>
  • <animatedlayer>
  • <groupdef>используется в сочетании с<group>

<groupdef>позволяет разработчику определить группу объектов GUI, которые могут быть повторно использованы в любом месте скина. Wasabi также поддерживает XUI, которые являются ничем иным, как <groups>скриптом MAKI, позволяющим разработчикам создавать собственные компоненты GUI (виджеты), что добавляет модульности.

WasabiXML имеет пространство имен XML «Wasabi::», которое определяет общие графические интерфейсы без необходимости указывать пути к изображениям.

МАРИЯ

MARIA — это универсальный, декларативный язык с множественным уровнем абстракции на основе XML для моделирования интерактивных приложений в повсеместно распространенных средах.

FXML

FXML — это язык на основе XML для определения пользовательского интерфейса приложений JavaFX .

Другой

Другие языки разметки, включенные в существующие фреймворки:

Формат .xib Interface Builder от Apple

Некоторые из них скомпилированы в двоичные формы.

В авионике стандарт ARINC 661 предписывает двоичный формат для определения пользовательских интерфейсов в стеклянных кабинах .

Формы Borland VCL (.dfm и .lfm) — это текстовые файлы, описывающие окна приложений Delphi и Lazarus . Они компилируются в финальный исполняемый файл в двоичном формате и используют RTTI для функционирования.

Смотрите также

Ссылки

  1. ^ "Основы HTML - Изучите веб-разработку | MDN". developer.mozilla.org . 29 августа 2023 г. Архивировано из оригинала 23 января 2024 г. Получено 23 января 2024 г.
  2. ^ ""HTML" | Могу ли я использовать... Таблицы поддержки для HTML5, CSS3 и т. д.". caniuse.com . Архивировано из оригинала 23 января 2024 г. . Получено 23 января 2024 г. .
  3. ^ "Scalable Vector Graphics (SVG) 2". w3.org . Архивировано из оригинала 27 января 2017 года . Получено 23 января 2024 года .
Взято с "https://en.wikipedia.org/w/index.php?title=Язык_разметки_интерфейса_пользователя&oldid=1266526307"