Перейти к содержанию

Ui-element-structure-and-responsive-layout: различия между версиями

Материал из XIOT Wiki
Нет описания правки
Английские адреса Wiki: обновление ссылок с сохранением русских подписей
 
(не показано 17 промежуточных версий этого же участника)
Строка 1: Строка 1:
__NOTOC__
{{DISPLAYTITLE:Структура элементов и адаптивный интерфейс}}
Режим Pro в XIOT-EDITOR использует '''вложенную структуру элементов'''. Такой подход помогает проектировать интерфейсы для разных размеров экрана, но результат необходимо проверять на каждом целевом устройстве.


PRO версия XIOT-EDITOR построена на принципе '''вложенной структуры элементов'''.
Редактор поддерживает как адаптивные, так и позиционные интерфейсы, а также их комбинирование в рамках одного проекта.
Это ключевая концепция, которая позволяет создавать гибкие, адаптивные и масштабируемые интерфейсы, одинаково корректно работающие на любых экранах — от телефона до большого настенного планшета.
 
'''Lite и Pro — два режима одного XIOT-EDITOR'''. Сначала ознакомьтесь со статьями [[Editor-lite-and-pro|Lite и Pro версии редактора]] и [[Editor-pro-capabilities|Назначение и возможности Pro версии редактора]]. Обзор меню находится в статье [[Editor-pro-tools-and-menus|Обзор инструментов и меню PRO версии редактора]].


----
----
Строка 8: Строка 10:
== 🧱 Вложенная структура элементов ==
== 🧱 Вложенная структура элементов ==


Каждый элемент — это '''блок'''.   
Базовым элементом интерфейса является '''блок'''.   
Блоки могут содержать другие блоки, а те — свои вложенные блоки и так далее.
Каждый блок может содержать внутри себя другие блоки и элементы, формируя иерархическую структуру.


Пример структуры:
Типовой пример:


* Страница   
* Страница   
  * Главный блок  
** Основной контейнер  
    * Виджет устройства   
*** Виджет устройства   
      * Иконка   
**** Иконка   
      * Название   
**** Название   
      * Кнопки  
**** Элементы управления  
    * Следующий виджет   
*** Другой виджет   
  * Нижняя панель  
** Панель навигации  
    * Кнопка «Назад»
*** Кнопка «Назад»


Это очень похоже на HTML-страницу, где есть `<div>` внутри `<div>`.
Такая структура похожа на HTML-разметку, где один контейнер может содержать вложенные элементы.


'''Такая структура автоматически адаптируется под любой размер экрана.'''
Вложенность элементов служит основой адаптивной компоновки.


----
----


== 📐 Относительные размеры: % и em ==
== 📐 Единицы измерения и масштабирование ==


В XIOT рекомендуется использовать два основных типа единиц:
В режиме Pro используются относительные единицы измерения, подходящие для построения адаптивных интерфейсов.


### 1. Проценты (%)
=== Проценты (%) ===
Используются для построения каркаса страницы.
 
Проценты применяются для формирования общей структуры страницы и контейнеров.


Пример:
Пример:
* создаются два блока;
* каждому задаётся высота '''50%'''.


* создаём два блока;
На целевых устройствах, например:
* первому задаём ширину '''50%''';
* смартфон,
* второму — тоже '''50%'''.
* планшет,
* настенная сенсорная панель,


Какой бы ни был экран устройства:
блоки сохраняют заданную долю пространства страницы. Результат следует проверить на каждом используемом размере экрана.


* маленький телефон, 
Это базовый принцип адаптивного макета.
* планшет, 
* сенсорная панель на стене —


блоки всегда займут ровно половину ширины страницы.
=== Единицы em ===


Это основа адаптивного макета.
Единицы '''em''' применяются для размеров виджетов и элементов управления.


### 2. Единицы *em*
Особенности:
Используются для создания виджетов и управляемых элементов.
* размеры элементов зависят от значения '''font-size''';
* элементы, размеры которых заданы в '''em''', изменяются вместе с базовым размером шрифта;
* этот подход помогает сохранять согласованные пропорции и отступы.


Эти элементы:
Изменение '''font-size''' помогает масштабировать связанные с ним размеры элементов. После изменения проверьте компоновку и читаемость.


* растут и уменьшаются вместе с текстом внутри;
----
* масштабируются пропорционально;
* сохраняют правильный внешний вид при любом разрешении.


'''em''' привязывается к `font-size`.
== 🧩 Подходы к построению интерфейса ==
Если изменить размер шрифта — изменится весь виджет целиком, сохранив пропорции и не ломаясь.
 
В режиме Pro доступны два основных подхода к компоновке интерфейса.
 
=== 🔄 Адаптивный (резиновый) интерфейс ===
 
Адаптивный интерфейс строится на:
* вложенной структуре блоков;
* использовании % и em;
* отсутствии абсолютного позиционирования.
 
Характеристики:
* подстройка пропорций под разные размеры рабочей области;
* возможность подготовить компоновку для разных ориентаций экрана;
* повторное использование одной структуры на нескольких проверенных типах устройств.
 
Данный подход рекомендуется использовать по умолчанию для пользовательских интерфейсов.


----
----


== 🔄 Масштабируемые интерфейсы ==
=== 📌 Позиционный интерфейс ===


Благодаря вложенной структуре:
Позиционный интерфейс применяется в случаях, когда заранее известно разрешение экрана.


* виджеты размещаются внутри главного блока; 
Для этого:
* главный блок заполняет страницу;
* элементу задаётся CSS-свойство '''position: absolute''';
* элементы внутри него автоматически распределяются;
* после этого элемент можно свободно перемещать мышью в рабочей области;
* если элементов слишком много — главный блок **прокручивается**.
* положение фиксируется относительно страницы.


Это отличается от традиционных решений, где:
Такой подход используется для:
* специализированных экранов;
* панелей с фиксированной компоновкой;
* визуальных схем.


* элементы ставят вручную на фиксированные координаты;
----
* интерфейс «ломается» при изменении экрана;
* требуется ручное создание отдельных макетов под каждый размер.


В XIOT достаточно создать виджет один раз — и он будет работать на любом устройстве.
=== 🔀 Комбинированный подход ===
 
На практике чаще всего используется комбинирование двух подходов.
 
Рекомендуемая схема:
* виджет проектируется адаптивным —
  размеры в '''em''', 
  вложенные элементы в '''%''' и '''em''', 
  без абсолютного позиционирования;
* сам виджет размещается на странице с помощью '''position: absolute'''.
 
Преимущества:
* виджет сохраняет заданные пропорции на проверенных целевых устройствах;
* положение на странице задаётся вручную;
* удобно реализовывать планы этажей, участков и схем помещений.


----
----


== 🧩 Виджеты как компоненты интерфейса ==
== 🎨 Настройки стилей ==
 
В Pro доступны настройки стилей для элементов интерфейса.
 
Поддерживаются основные группы свойств:
* размеры и ограничения (width, height, min/max);
* отступы и поля (margin, padding);
* шрифты и типографика;
* позиционирование;
* фон и цвета;
* рамки и скругления;
* тени и прозрачность;
* анимации и переходы;
* flex-компоновка.


Виджет — это тот же элемент, но с вложенными дочерними элементами:
Доступность конкретного свойства проверяйте в панели настроек выбранного элемента.


* иконка; 
----
* подпись; 
* кнопки; 
* индикаторы; 
* стили; 
* логика; 
* привязки к характеристикам и тэгам.


Благодаря вложенности:
== 🧩 Виджеты как переиспользуемые компоненты ==


* виджет можно '''клонировать''' для любого другого устройства;
Виджет представляет собой самостоятельный компонент, включающий:
* виджеты автоматически становятся частью адаптивного макета;
* структуру элементов;
* виджеты корректно отображаются на любом экране без ручной подгонки.
* стили;
* логику;
* привязки к характеристикам и физическим адресам.


----
Виджеты можно:
* клонировать;
* переносить между страницами;
* сохранять в файл формата '''.xelem''';
* использовать в других проектах.


== 📱 Почему это лучше классических систем ==
Один раз созданный виджет может применяться многократно без изменения структуры.


Преимущества вложенной структуры XIOT:
'''.xelem — файл элемента, а не всего проекта'''.


* 📐 **автоматическая адаптация** — всё строится в процентах и em; 
Во время вёрстки полезно периодически нажимать '''Сохранить проект''', создавая самостоятельные контрольные точки. Это не загружает конфигурацию на XIOT-PLC. Если нужно применить текущую конфигурацию, используйте '''Загрузить конфигурацию на контроллер''': команда сначала сохраняет проект локально и после успешной записи отправляет сохранённую конфигурацию на XIOT-PLC. Облачное сохранение и публикацию приложения проверяют отдельно: успешная загрузка на PLC их не подтверждает.
* 🔁 **масштабирование интерфейса одним параметром** — меняем `font-size`, меняется всё приложение; 
* 🧩 **элементы собираются в виджеты**, виджеты легко копируются; 
* 📌 **нет фиксированной привязки к углам экрана**, как в iRidium/AMX; 
* 🚀 **быстрая сборка интерфейса** за счёт готовых компонент; 
* 📦 **один дизайн — любой экран**.


----
----
Строка 120: Строка 162:
== 🎯 Итог ==
== 🎯 Итог ==


В PRO версии XIOT:
Режим Pro предоставляет инструменты ручного построения интерфейсов:
 
* вложенная иерархия элементов;
* использование % и em для масштабирования;
* поддержка адаптивного и позиционного подходов;
* комбинирование методов в одном проекте;
* настройки стилей элементов;
* переиспользуемые виджеты.


* структура элементов **вложенная**, как в современных веб-интерфейсах;
Это позволяет создавать пользовательские интерфейсы и специализированные инженерные панели для заранее определённых и проверенных размеров экрана.
* используются относительные размеры (% и em), обеспечивающие адаптивность;
* элементы группируются в виджеты, которые можно многократно использовать;
* интерфейс автоматически подстраивается под любые устройства;
* приложение сохраняет внешний вид и масштаб даже при изменении `font-size`.


Это делает PRO версию мощным инструментом разработки кастомных панелей управления, при этом сохраняя простоту масштабирования и повторного использования элементов.
Требования к браузеру и порядок входа: [[Xiot-editor-access|Доступ к XIOT-EDITOR]].

Текущая версия от 22:23, 2 октября 2026

Режим Pro в XIOT-EDITOR использует вложенную структуру элементов. Такой подход помогает проектировать интерфейсы для разных размеров экрана, но результат необходимо проверять на каждом целевом устройстве.

Редактор поддерживает как адаптивные, так и позиционные интерфейсы, а также их комбинирование в рамках одного проекта.

Lite и Pro — два режима одного XIOT-EDITOR. Сначала ознакомьтесь со статьями Lite и Pro версии редактора и Назначение и возможности Pro версии редактора. Обзор меню находится в статье Обзор инструментов и меню PRO версии редактора.


🧱 Вложенная структура элементов

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

Типовой пример:

  • Страница
    • Основной контейнер
      • Виджет устройства
        • Иконка
        • Название
        • Элементы управления
      • Другой виджет
    • Панель навигации
      • Кнопка «Назад»

Такая структура похожа на HTML-разметку, где один контейнер может содержать вложенные элементы.

Вложенность элементов служит основой адаптивной компоновки.


📐 Единицы измерения и масштабирование

В режиме Pro используются относительные единицы измерения, подходящие для построения адаптивных интерфейсов.

Проценты (%)

Проценты применяются для формирования общей структуры страницы и контейнеров.

Пример:

  • создаются два блока;
  • каждому задаётся высота 50%.

На целевых устройствах, например:

  • смартфон,
  • планшет,
  • настенная сенсорная панель,

блоки сохраняют заданную долю пространства страницы. Результат следует проверить на каждом используемом размере экрана.

Это базовый принцип адаптивного макета.

Единицы em

Единицы em применяются для размеров виджетов и элементов управления.

Особенности:

  • размеры элементов зависят от значения font-size;
  • элементы, размеры которых заданы в em, изменяются вместе с базовым размером шрифта;
  • этот подход помогает сохранять согласованные пропорции и отступы.

Изменение font-size помогает масштабировать связанные с ним размеры элементов. После изменения проверьте компоновку и читаемость.


🧩 Подходы к построению интерфейса

В режиме Pro доступны два основных подхода к компоновке интерфейса.

🔄 Адаптивный (резиновый) интерфейс

Адаптивный интерфейс строится на:

  • вложенной структуре блоков;
  • использовании % и em;
  • отсутствии абсолютного позиционирования.

Характеристики:

  • подстройка пропорций под разные размеры рабочей области;
  • возможность подготовить компоновку для разных ориентаций экрана;
  • повторное использование одной структуры на нескольких проверенных типах устройств.

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


📌 Позиционный интерфейс

Позиционный интерфейс применяется в случаях, когда заранее известно разрешение экрана.

Для этого:

  • элементу задаётся CSS-свойство position: absolute;
  • после этого элемент можно свободно перемещать мышью в рабочей области;
  • положение фиксируется относительно страницы.

Такой подход используется для:

  • специализированных экранов;
  • панелей с фиксированной компоновкой;
  • визуальных схем.

🔀 Комбинированный подход

На практике чаще всего используется комбинирование двух подходов.

Рекомендуемая схема:

  • виджет проектируется адаптивным —
 размеры в em,  
 вложенные элементы в % и em,  
 без абсолютного позиционирования;
  • сам виджет размещается на странице с помощью position: absolute.

Преимущества:

  • виджет сохраняет заданные пропорции на проверенных целевых устройствах;
  • положение на странице задаётся вручную;
  • удобно реализовывать планы этажей, участков и схем помещений.

🎨 Настройки стилей

В Pro доступны настройки стилей для элементов интерфейса.

Поддерживаются основные группы свойств:

  • размеры и ограничения (width, height, min/max);
  • отступы и поля (margin, padding);
  • шрифты и типографика;
  • позиционирование;
  • фон и цвета;
  • рамки и скругления;
  • тени и прозрачность;
  • анимации и переходы;
  • flex-компоновка.

Доступность конкретного свойства проверяйте в панели настроек выбранного элемента.


🧩 Виджеты как переиспользуемые компоненты

Виджет представляет собой самостоятельный компонент, включающий:

  • структуру элементов;
  • стили;
  • логику;
  • привязки к характеристикам и физическим адресам.

Виджеты можно:

  • клонировать;
  • переносить между страницами;
  • сохранять в файл формата .xelem;
  • использовать в других проектах.

Один раз созданный виджет может применяться многократно без изменения структуры.

.xelem — файл элемента, а не всего проекта.

Во время вёрстки полезно периодически нажимать Сохранить проект, создавая самостоятельные контрольные точки. Это не загружает конфигурацию на XIOT-PLC. Если нужно применить текущую конфигурацию, используйте Загрузить конфигурацию на контроллер: команда сначала сохраняет проект локально и после успешной записи отправляет сохранённую конфигурацию на XIOT-PLC. Облачное сохранение и публикацию приложения проверяют отдельно: успешная загрузка на PLC их не подтверждает.


🎯 Итог

Режим Pro предоставляет инструменты ручного построения интерфейсов:

  • вложенная иерархия элементов;
  • использование % и em для масштабирования;
  • поддержка адаптивного и позиционного подходов;
  • комбинирование методов в одном проекте;
  • настройки стилей элементов;
  • переиспользуемые виджеты.

Это позволяет создавать пользовательские интерфейсы и специализированные инженерные панели для заранее определённых и проверенных размеров экрана.

Требования к браузеру и порядок входа: Доступ к XIOT-EDITOR.