Язык разметки пользовательского интерфейса — это язык разметки , который визуализирует и описывает графические пользовательские интерфейсы и элементы управления. Многие из этих языков разметки являются диалектами XML и зависят от уже существующего движка языка сценариев , обычно движка JavaScript , для визуализации элементов управления и дополнительной возможности сценариев.
Концепция языков разметки пользовательского интерфейса в первую очередь основана на желании предотвратить « изобретение колеса » в дизайне, разработке и функционировании пользовательского интерфейса; такое переизобретение происходит в форме кодирования скрипта для всего пользовательского интерфейса. Типичный язык разметки пользовательского интерфейса закрепляет часто повторно используемый программный или скриптовый код в форме разметки, что упрощает сосредоточение на дизайне пользовательского интерфейса на понятном диалекте, а не на функции.
Языки разметки пользовательского интерфейса, как и большинство языков разметки и программирования, полагаются на среды выполнения субприложений для интерпретации и отображения кода разметки как программного кода, который может быть обработан и представлен в желаемой форме. В языках разметки пользовательского интерфейса на основе XML разметка обычно интерпретируется и представляется в виде дерева узлов, которыми можно манипулировать во время выполнения с помощью кода приложения или динамически загружаемого пользовательского скрипта .
Этот раздел может содержать непроверенную или неразборчивую информацию во встроенных списках . ( Август 2015 ) |
HTML, что означает Hyper T ext Markup Language , — это язык разметки, используемый для создания веб-страниц, которые будут отображаться в веб-браузере . [1] Его часто комбинируют с CSS (для стилизации) и JavaScript (для интерактивности). Большинство веб-сайтов в мире созданы с использованием HTML , поскольку это стандартный язык, поддерживаемый веб-браузерами. [2]
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 — кроссплатформенный язык разметки для создания аппаратно-ускоренных пользовательских интерфейсов на базе OpenGL для устройств от мобильных до настольных. Интерфейсы QML обрабатываются с помощью языка JavaScript. QML является частью программного фреймворка Qt .
MXML — это язык разметки пользовательского интерфейса на основе XML, представленный компанией Macromedia в марте 2004 года. В настоящее время он является частью пакета Adobe Flex SDK с открытым исходным кодом (http://opensource.adobe.com) версии 4. Файлы MXML компилируются в Flash SWF с помощью Flex SDK и отображаются либо в веб-браузере с помощью подключаемого модуля Adobe Flash , либо в виде автономных кроссплатформенных приложений с помощью пакета Adobe AIR SDK с открытым исходным кодом.
OASIS UIML — это стандартный язык разметки пользовательского интерфейса на основе XML. [ требуется ссылка ] Это открытый стандарт , реализация которого не ограничивается одним поставщиком.
Основным языком интерфейса продуктов Mozilla Foundation является XUL . Документы XUL визуализируются движком Gecko , который также визуализирует документы XHTML и SVG . Он взаимодействует со многими существующими стандартами и технологиями, включая CSS , JavaScript , DTD и RDF .
UsiXML (что означает расширяемый язык разметки пользовательского интерфейса ) — это язык разметки, совместимый с XML , который описывает пользовательский интерфейс для различных контекстов использования , таких как символьные пользовательские интерфейсы (CUI), графические пользовательские интерфейсы (GUI), слуховые пользовательские интерфейсы и многомодальные пользовательские интерфейсы.
Другими словами, интерактивные приложения с различными типами методов взаимодействия, модальностями использования и вычислительными платформами можно описать таким образом, чтобы сохранить дизайн независимо от особенностей физической вычислительной платформы.
WTKX — это язык разметки на основе XML, используемый для создания приложений Apache Pivot . Хотя он чаще всего используется для определения структуры пользовательского интерфейса приложения, его можно использовать для декларативного построения любого типа иерархии объектов Java.
eXtensible Application Language — это язык разметки Enterprise Web 2.0 Suite от Nexaweb. Разработчики могут использовать этот язык для определения приложений, которые будут работать как Java Client или Ajax Client.
Масштабируемая векторная графика — это язык разметки для графики, предложенный W3C [3] , который может поддерживать насыщенную графику для веб- и мобильных приложений. Хотя SVG не является языком пользовательского интерфейса, он включает поддержку векторной/растровой графики, анимации, взаимодействия с DOM и CSS, встроенных медиа, событий и возможности скриптования. При использовании этих функций в сочетании возможны насыщенные пользовательские интерфейсы.
SVG также может быть наложен на другой язык разметки пользовательского интерфейса, совместимый с XML, такой как XUL и XForms , в качестве графически насыщенной части пользовательского интерфейса.
TUIX — это язык разметки на основе XML для определения пользовательских интерфейсов в Tribiq CMS. Разработчики могут определять как внешний вид интерфейсов, так и их взаимодействие. Файлы TUIX из разных плагинов объединяются перед рендерингом, что упрощает изменение существующих интерфейсов и добавление новых функций.
XAML — это система разметки, которая лежит в основе компонентов пользовательского интерфейса Microsoft .NET Framework 3.0 и выше. Ее сфера применения более амбициозна, чем у большинства языков разметки пользовательского интерфейса, поскольку логика и стили программы также встроены в документ XAML . Функционально ее можно рассматривать как комбинацию XUL, SVG, CSS и JavaScript в одной схеме XML.
Некоторые люди критикуют этот дизайн, так как существует множество стандартов (например, уже перечисленных) для выполнения этих вещей. Однако ожидается, что он будет разработан с помощью визуального инструмента, где разработчикам даже не нужно будет понимать базовую разметку.
I3ML — это фирменный механизм доставки приложений для тонкого клиента, разработанный CoKinetic Systems Corp. Архивировано 23 января 2021 г. на Wayback Machine , с поддержкой клиента, обеспечиваемой плагином для браузера, который будет отображать приложения, подобные Windows, через инфраструктуру HTTP с минимальными требованиями к пропускной способности.
OpenLaszlo — это среда выполнения, которая включает среду выполнения и язык определения интерфейса (Laszlo XML — LZX). LZX — это декларативный язык пользовательского интерфейса, который определяет виджеты, макет приложения и элементы сценариев (используя JavaScript) для создания вашего приложения. LZX не зависит от среды выполнения, в настоящее время поддерживаемая среда выполнения находится в Macromedia/Adobe Flash. Экспериментальная среда выполнения под названием Laszlo «Legals», которая позволит приложениям OpenLaszlo (LZX) работать в нескольких средах выполнения, таких как DHTML/AJAX.
H ierarchical Model View Controller User Interface Language ( HMVCUL ) — это язык пользовательского интерфейса разметки XML , который поддерживает создание и цепочку атомарных компонентов триады MVC, используемых при построении приложений HMVC GUI. Соответствующая среда выполнения предоставляет методы, которые позволяют настраивать свойства , привязку данных и события каждого элемента триады MVC (виджет, контроллер, модель). Среда выполнения выполняет это путем сопоставления элементов XML, определенных в файле HMVCUL, с объектами внутри фреймворка, атрибутов со свойствами или с событиями. Цепочка выполняется путем следования древовидной структуре, описанной внутри файла HMVCUL.
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 — это язык на основе XML для определения пользовательского интерфейса приложений JavaFX .
Другие языки разметки, включенные в существующие фреймворки:
Формат .xib Interface Builder от Apple
Некоторые из них скомпилированы в двоичные формы.
В авионике стандарт ARINC 661 предписывает двоичный формат для определения пользовательских интерфейсов в стеклянных кабинах .
Формы Borland VCL (.dfm и .lfm) — это текстовые файлы, описывающие окна приложений Delphi и Lazarus . Они компилируются в финальный исполняемый файл в двоичном формате и используют RTTI для функционирования.