Команда Jmix рада сообщить о релизе Jmix 2.5, который предлагает множество новых функций, улучшений и обновлений, направленных на повышение эффективности разработки. Этот релиз сосредоточен на повышении эффективности разработки, расширении возможностей интеграции и предоставлении новых функций приложений. Для подробного обзора всех изменений и инструкций по обновлению посетите страницу Что нового в документации.
Вот краткий обзор ключевых функций и улучшений в Jmix 2.5.
Дополнение Message Templates
Дополнение Message Templates предоставляет гибкий и эффективный способ управления и использования повторно используемых шаблонов сообщений в вашем приложении на Jmix. Оно позволяет разработчикам определять шаблоны с подстановками, которые могут быть динамически заполнены данными во время выполнения. Это дополнение упрощает создание персонализированных сообщений, таких как электронные письма или уведомления в приложении.
Процесс генерации сообщений использует широко распространенный движок шаблонов Apache FreeMarker. Система поддерживает создание как HTML, так и текстовых шаблонов для максимальной гибкости. Мощный веб-компонент GrapesJS был интегрирован для предоставления визуального редактора для создания HTML-шаблонов. Этот редактор позволяет создавать шаблоны с использованием библиотеки предварительно разработанных HTML-блоков. Вы можете легко проектировать свои шаблоны, просто перетаскивая эти блоки из палитры на холст.

Дополнение Message Templates поддерживает интеграцию с другими дополнениями Jmix: Multitenancy, Email Sending и Notifications.
Режим приложения с вкладками
Дополнение Tabbed App Mode, находящееся на экспериментальной стадии, позволяет открывать экраны приложения в отдельных вкладках в пределах главного экрана. Это обеспечивает более интегрированный опыт навигации и предназначено для создания корпоративных приложений с интерфейсом, похожим на настольный.

Редактирование объектов на карте
Дополнение Maps теперь поддерживает выбор, перемещение и изменение объектов, добавленных в векторные источники. Это упрощает взаимодействие и редактирование данных на карте непосредственно в вашем приложении.

Улучшения в Studio
Индикация горячего развертывания
Теперь Studio показывает значок в правом верхнем углу файлов, которые поддерживают горячее развертывание, таких как контроллеры экранов, дескрипторы, пакеты сообщений и роли. Этот значок указывает статус горячего развертывания, помогая разработчикам отслеживать, были ли их последние изменения применены к работающему приложению.

Анализ логов приложения
Теперь Studio может идентифицировать распространенные исключения в консоли приложения и предлагать способы их устранения. Эта функция, в сочетании с индикатором горячего развертывания, упрощает устранение неполадок во время разработки.

Конфигурация запуска/отладки Jmix
Добавлена новая конфигурация запуска/отладки, специфичная для Jmix, которая заменяет стандартную конфигурацию Gradle. Эта конфигурация обеспечивает плавное завершение работы приложения без генерации ошибок в консоли, улучшая процесс разработки.

Редактор и автодополнение classNames
Теперь Studio предлагает улучшенную поддержку для ввода значений в свойство classNames UI-компонентов. Автодополнение предлагает доступные имена классов, а визуальный редактор в инспекторе компонентов Jmix UI упрощает выбор и применение имен классов.

Генерация клиента OpenAPI по тегам
При генерации клиентского кода из схемы OpenAPI теперь можно выбирать определенные теги, определенные в схеме. Studio также может фильтровать схемы, которые не используются в путях, связанных с выбранными тегами. Это уменьшает объем сгенерированного кода, упрощая интеграцию только необходимых частей API.

Расширенный экран списка задач BPM
Теперь вы можете сгенерировать расширенный экран списка задач BPM с использованием шаблона BPM: Advanced task list view в мастере создания экранов. Этот экран предлагает больше функций, чем встроенный экран My tasks, и может быть настроен в соответствии с потребностями вашего проекта.

Пустое состояние DataGrid
Компонент DataGrid теперь поддерживает свойства emptyStateComponent и emptyStateText, позволяя отображать пользовательский контент, когда данные отсутствуют. Это улучшает пользовательский опыт, предоставляя обратную связь в пустых состояниях.

Улучшения REST API и REST DataStore
Эндпойнты Generic REST теперь могут принимать произвольные фетч-планы в виде JSON-объектов, в дополнение к именованным фетч-планам. Это упрощает интеграцию REST API и уменьшает необходимость в предопределенных фетч-планах. Кроме того, эта функция значительно упрощает использование REST DataStore: вам больше не нужно определять все фетч-планы в общих репозиториях как на стороне клиента, так и на стороне сервиса. Вместо этого вы можете использовать встроенные фетч-планы в своих клиентских экранах и Java-коде, как обычно при работе с базами данных.
Дополнение REST DataStore теперь включает собственную реализацию FileStorage, которая работает с файлами, расположенными в удаленном хранилище файлов приложения. Это позволяет легко интегрироваться с удаленными системами хранения файлов.
Использование UUIDv7 для идентификаторов сущностей
Jmix 2.5 по умолчанию использует UUIDv7 для генерации значений атрибутов UUID, аннотированных @JmixGeneratedValue. UUIDv7 основан на времени, что делает его более подходящим для ключей базы данных благодаря естественному порядку. Это особенно полезно для индексации базы данных и производительности запросов.
Обновленные зависимости
Выпуск Jmix 2.5 включает обновления основных зависимостей:
Spring Boot обновлен до версии 3.4.
Vaadin обновлен до версии 24.6.
Эти обновления гарантируют, что Jmix продолжает строиться на современной, безопасной и производительной основе.
Планы на будущее
Следующий функциональный релиз ожидается в июне 2025 года. Мы сосредоточимся на следующей функциональности:
Интеграция AI Assistant в Studio
Готовое к эксплуатации дополнение Tabbed App Mode
Дополнение для аутентификации по протоколу SAML
UI-компонент Switch (Toggle)
Библиотека для end-to-end тестирования UI, аналогичная библиотеке Masquerade в Classic UI
Заключение
Jmix 2.5 представляет ряд новых функций и улучшений, которые повышают производительность разработчиков, возможности интеграции и функциональность приложений. Мы начинаем работу над следующим выпуском, запланированным на июнь 2025 года, где продолжим развивать эти улучшения.
Мы приглашаем вас присоединиться к нашему форуму и группе в Telegram, чтобы обсудить эти новые функции, поделиться своим опытом и пообщаться с сообществом. Мы также хотим поблагодарить наших участников сообщества за их ценные отчеты об ошибках, запросы на включение, идеи и предложения — ваши вклады делают Jmix лучше.
Следите за обновлениями, и мы надеемся, что Jmix 2.5 окажется полезным для ваших проектов!