Выпущена версия Jmix 3.1

—

от автора

Обзор новых функций и важных изменений релиза Jmix 3.1.

Обзор новых функций и важных изменений релиза Jmix 3.1.

Выпущен Jmix 3.1. В нём представлены два новых дополнения и несколько UI-компонентов, которые раньше приходилось создавать вручную. Кроме того, дополнение Dynamic Model выходит из экспериментального статуса, а новый инструмент командной строки позволяет создавать проекты без IDE. Spring Boot обновлён до версии 4.1, а Vaadin — до 25.3.

Ниже приведён краткий обзор основных новых возможностей. Полный список изменений, включая все критические изменения, доступен в разделе Что нового документации.

Новые возможности и улучшения

  • Jmix CLI Jmix CLI — новый инструмент командной строки, который создает Jmix-проекты без IDE: в терминале, в скрипте или с помощью ИИ-агента. Он использует те же шаблоны проектов, что и Studio, и добавляет Jmix Agent Toolkit в новый проект.

  • Дополнение AI Chat Новое дополнение AI Chat предоставляет UI-компоненты для создания чат-интерфейсов: готовый aiChat с потоковыми ответами, сообщениями в Markdown и вложенными файлами, а также aiMessageList и aiMessageInput для построения собственного макета. Ответы формирует LLMProvider, который реализует приложение, поэтому компоненты работают со Spring AI, SDK поставщика или вашим собственным сервисом.

  • Дополнение UI Recovery Новое дополнение UI Recovery сохраняет несохраненные изменения в экранах в виде черновиков, пока пользователь работает. Если сервер перезапустился, сессия истекла или браузер был закрыт, пользователь сможет восстановить черновик при повторном открытии экрана.

  • Dynamic Model готов к промышленному использованию Дополнение Dynamic Model больше не является экспериментальным. В нем появились UI-обработчики для задания поведения экранов, полнотекстовый поиск по динамическим атрибутам, поддержка кластера, история модели и роль, разрешающая только изменения без потери сохраненных данных.

  • Экраны просмотра Новые экраны просмотра (read views) показывают экземпляр сущности без возможности редактирования. Их можно создать в мастере экранов Studio или сгенерировать во время выполнения с помощью @ReadViewTemplate, а действие list_read открывает их автоматически.

  • Потоковые отчеты и отчеты с ИИ Бэнды отчетов теперь могут быть потоковыми. Потоковый бэнд читает строки из курсора базы данных и записывает их в XLSX по одной, не загружая все данные в память, что позволяет формировать отчеты практически неограниченного размера. Новый тип набора данных AI-generated JPQL позволяет описать данные бэнда на естественном языке и сохраняет сгенерированный запрос в определении отчета.

  • Компонент и рендерер Popover Новый компонент popover — это всплывающая панель, которая открывается рядом с целевым компонентом по щелчку, наведению или фокусу и может содержать любые компоненты. Соответствующий popoverRenderer для dataGrid показывает длинный текст ячейки целиком по щелчку.

  • Компоненты Slider, Badge и SVG Новые компоненты integerSlider и decimalSlider позволяют выбрать значение, а их варианты для диапазонов — диапазон значений. Компонент badge отображает статус, счетчик или метку и может быть привязан к атрибуту сущности, а компонент svg выводит SVG-разметку прямо в экране.

  • Изменяемый размер боковой панели Пользователи теперь могут менять размер sidePanelLayout, перетаскивая ее внутренний край, а фасет settings запоминает выбранный размер.

  • Аннотация Lookup Field Новая аннотация @LookupField определяет, как выбирается ссылка во всем фреймворке: выпадающим списком entityComboBox или через entityPicker с экраном выбора. Она применяется в фильтрах, редактируемых ячейках таблиц и runtime-шаблонах экранов и может подгружать элементы выпадающего списка постранично по мере ввода.

  • Улучшения в BPMN-modeler BPMN-modeler теперь поддерживает escalation-события, уровень истории для отдельного процесса и атрибуты асинхронного выполнения для большинства элементов.

  • Упрощенная настройка OAuth2 для Email В дополнении Email Sending появился новый экран Email connection, который подключает почтовый ящик Google или Microsoft, сохраняет refresh-токен и проверяет соединение.

  • Улучшения Studio В мастере создания экранов появился новый шаг для выбора способа фильтрации данных. В дизайнере сущностей добавлено действие Views with Attribute, а новые действия позволяют копировать экран и генерировать файлы кастомного UI-компонента.

Планы на будущее

Следующий релиз с новыми возможностями запланирован на февраль 2027 года. Мы работаем над следующим:

  • Консоль администрирования для дополнения Search

  • Аудит действий пользователей

  • Локализованные текстовые атрибуты сущностей

  • Компонент Stepper (мастер)

  • Безопасность: доступ к атрибутам в зависимости от состояния и улучшенный UI для runtime-ролей

  • ИИ-конструктор для Dynamic Model и транслятор динамической модели в статическую

  • Возможности Studio: улучшение UX дизайнера сущностей и шаблон экрана для диалога ввода

Актуальная дорожная карта доступна на GitHub.

Заключение

Надеемся, вам понравится работать с Jmix 3.1! Мы рекомендуем попробовать новые возможности на реальном проекте и посмотреть, как они впишутся в вашу работу. Как всегда, вопросы и отзывы приветствуются на форуме.

ссылка на оригинал статьи https://habr.com/ru/articles/1100552/