🔥 Jmix 3.0 вышел на Spring Boot 4 и научился менять модель данных без перезапуска

В enterprise-приложениях просьба «добавить ещё одно поле» часто означает изменение сущности, миграцию БД, доработку UI и новый деплой. Jmix 3.0 предлагает другой подход: расширять модель уже работающего приложения через административный интерфейс.

🧱 Платформу перевели на новый стек

В основе Jmix 3.0 теперь:

  • Spring Boot 4.0
  • Vaadin 25.1
  • EclipseLink 5.0
  • Flowable 8.0
  • Java 21 или Java 25

Для разработки потребуется Jmix Studio 3.0 и IntelliJ IDEA 2025.3+. Это крупное обновление базовых зависимостей, которое синхронизирует фреймворк с актуальной Java-экосистемой.

⚙️ Dynamic Model: новые сущности без изменения исходников

Главная фича релиза — дополнение Dynamic Model. Через графический административный интерфейс можно:

  1. Добавлять атрибуты к существующим сущностям;
  2. Создавать новые сущности и таблицы БД;
  3. Генерировать для них экраны;
  4. Задавать валидацию;
  5. Настраивать ролевую безопасность.

И всё это — без изменения исходного кода и перезапуска приложения.

Для систем, где модель регулярно адаптируют под процессы заказчика, это потенциально сокращает путь от бизнес-запроса до работающего изменения.

🤖 LLM-ассистент и инструменты для coding agents

Новое дополнение AI Tools добавляет готовый чат-интерфейс, программный API и предопределённые инструменты для доступа к данным на естественном языке. Предусмотрены и точки расширения для подключения собственных инструментов.

Jmix Studio также умеет устанавливать в проект:

  • agent skills;
  • инструкции;
  • MCP-серверы из Jmix AI Agent Guidelines.

Заявлена поддержка Claude Code CLI, Codex, OpenCode и Junie.

🛠 Что ещё появилось

  • Runtime-генерация list/detail-экранов через @ListViewTemplate и @DetailViewTemplate.
  • Fluent Builder API для genericFilter, propertyFilter, jpqlFilter и groupFilter.
  • Компонент markdownEditor с редактированием, предпросмотром, биндингом данных и валидацией.
  • Готовые рендереры: detailLinkRenderer и detailButtonRenderer для dataGrid и treeDataGrid.
  • Предпросмотр Message Templates с ранним обнаружением ошибок FreeMarker и отсутствующих параметров.
  • Новая тема Aura из Vaadin 25; тема Lumo тоже остаётся доступной.
  • Безопасность: требование сменить временный пароль при следующем входе.
  • Поддержка Kotlin DSL в сборочных скриптах со стороны Studio.

💡 Практический профит

Jmix 3.0 движется от классического code-first-фреймворка к платформе, где часть изменений можно безопасно переносить в runtime. Это особенно интересно для внутренних систем, CRM, back office и других приложений с часто меняющейся предметной моделью.

⚠️ Но Dynamic Model затрагивает схему данных и безопасность, поэтому перед применением в production стоит отдельно проверить миграции, аудит изменений, резервное копирование и поведение интеграций, которые ожидают статичную модель.

Вопрос к сообществу:

Стали бы вы разрешать администраторам менять сущности работающей enterprise-системы через UI — или схема БД должна оставаться исключительно под контролем разработчиков?

6 views·1 share