Jmix.ru – Telegram
Jmix.ru
646 subscribers
358 photos
44 videos
1 file
436 links
Jmix — платформа быстрой разработки B2B и B2G веб-приложений на Java.

🤝 Наш коммьюнити-чат: https://news.1rj.ru/str/jmixchat

⚙️ Начать бесплатно: https://www.jmix.ru/get-started/
Download Telegram
⏺️ Прямо сейчас, Дмитрий Кремнев, Senior Jmix Developer, рассказывает об обновлениях Jmix и делится творческими планами команды на 2025 год.

А кто заметил на фото наш новый мерч? 😉
🔥19🤩2
⚡️ Теперь участникам рассказывает про Jmix и Kotlin Дмитрий Черкасов, DevRel Jmix

Как вы видите на слайде, без мемов ни-ку-да 😀
🔥17😱2
Завершающее выступление нашего митапа от Павла Александрова, Senior Jmix Developer, на очень волнующую тему - оптимизация производительности приложений Jmix 💪🏻
🔥113👍2
🤝 Благодарим всех, кто нашел время и возможность присоединиться к нашему Jmix Meetup!

Ваши интерес, вовлеченность, искреннее участие заряжают нас энергией и вдохновляют устраивать такие встречи в будущем ☺️

А с какой радостью мы читаем ваши отзывы в анкете:

"Спасибо, что собрали, что поддерживаете, что открыты к диалогу и прислушиваетесь!"

"Отличная организация, лучший продукт, спасибо!"

"Вы крутые! Проводите такие мероприятия почаще!)"


Все материалы, которые мы обещали подготовить, а также фотографии с мероприятия обязательно опубликуем в ближайшее время.

Остаемся на связи и до новых встреч! 🫶🏻

#мероприятия
👍177🔥5
Шаблоны сообщений избавляют от рутины🧩

Приложение разговаривает с пользователем посредством уведомлений и email’ов. Но для этого разработчику нужно задать текст сообщений. И часто так бывает, что в этот текст надо вставить конкретные данные. Например, имя пользователя или номер заказа.

В принципе, задача нехитрая, с этим справится даже джун😎. Но это совершенно рутинная работа, которая просто отнимает время и хотелось бы от нее избавиться.

Команда Jmix постоянно думает, как оптимизировать и еще больше ускорить разработку и поэтому в релизе 2.5 появились шаблоны сообщений!

Адд-он Message Templates использует движок Apache FreeMarker для генерации HTML и текстовых шаблонов. А создавать и редактировать эти шаблоны вы можете в визуальном редакторе на основе GrapesJS. Этот редактор позволяет создавать шаблоны с использованием библиотеки предварительно разработанных HTML-блоков. Вы можете легко проектировать свои шаблоны, просто перетаскивая эти блоки из палитры на холст.

Подробнее можно почитать в документации📚

Устанавливайте Message Templates из маркетплейса и создавайте информативные и привлекательные сообщения для ваших пользователей!🚀

#фича #jmix25
🔥4
Запускаем онлайн-курс «Jmix PRO»!

📅 Даты: 7 - 24 апреля
🕒 Время: с 18:00 до 21:00 по московскому времени

💻 Формат: учебные сессии в МТС Линк, общение в закрытом Telegram-чате.
В данном курсе подробно рассматривается работа с файлами и данными, разработка административного пользовательского интерфейса, развертывание приложений, подсистема управления доступом

Что вы узнаете и научитесь делать?

1️⃣ Использовать систему управления доступом.
Создавать и назначать роли. Рассмотрим пример регистрации и активации пользователей. Разберем интеграцию с внешним сервисом аутентификации на примере KeyCloak SSO.

2️⃣ Подготавливать приложения к развертыванию в продуктовой среде правильно.
Также мы изучим доступные способы сборки приложения - от JAR до собственного многослойного образа Docker.

3️⃣ Создавать типовой пользовательский интерфейс с множеством доступных компонентов.
Стилизовать приложения Jmix, создавать собственные компоненты интерфейса, создавать обработчики событий интерфейса.

4️⃣ Создавать модель данных приложения, получать доступ к данным с использованием разнообразных подходов программно и декларативно.
Выгружать файлы на сервер, отображать их в пользовательском интерфейсе, инициировать загрузку файлов из браузера.

📌Домашние задания с проверкой тренером!

🔗 Регистрация, стоимость и условия здесь.

#мероприятия
👍3
📢 Уже ЗАВТРА! Не пропустите продолжение вебинара по Jmix BPM!

12 марта в 16:00 по мск Станислав Макаров, продуктовый аналитик платформы Jmix, продолжит показывать, как с помощью Jmix BPM создавать процессы, ориентированные на обработку событий.

На вебинаре вы узнаете:

🔸Как брокер сообщений RabbitMQ выступает источником событий для запуска процессов.
🔸Как запускаются процессы в ответ на изменение данных и при помощи планировщика Quartz.
🔸Как используются внутренние события Jmix для управления интерфейсом и бизнес-логикой

💎БОНУС: Вы увидите в действии компоненты для работы с картами (Maps) и графиками (Charts) и другие возможности платформы Jmix.

Рекомендуем посмотреть первую часть встречи по данной теме здесь.

🔗 Регистрация по ссылке
До встречи в эфире!

#мероприятия
👍62
Media is too big
VIEW IN TELEGRAM
Работа с несколькими вкладками в Flow UI

Корпоративным пользователям приходится работать со сложными данными📊, например, в ERP-приложениях. Удобно открывать несколько вкладок и переключаться между ними — это позволяет просматривать другую информацию, не закрывая текущее окно. Например, когда вы редактируете сложную сущность с множеством полей и вам нужно уточнить детали.

И вот почти готово!🎉
Пока в экспериментальном режиме, но уже можно попробовать, как функционирует Jmix-приложение со множеством вкладок в новом интерфейсе Flow UI. Разработчики честно предупреждают, что это пока не для продакшн, а только посмотреть, окончательная версия появится в следующем релизе.

При помощи бина ViewBuilders вы сможете открывать экраны, передавать в них параметры, получать возвращаемые значения и так далее.

Если вы до сих пор откладывали миграцию своего приложения на новый Jmix из-за сложностей переделки интерфейса, то сейчас самое время начать!

📗Читайте в документации, как попробовать новый режим!

#фича #jmix25
🔥15👍2
Jmix Community Meetup: полезные материалы 💪🏻

Как обещали, публикуем материалы с митапа.

🔹 Презентации спикеров.

🔹 Панели (Dashboards) для мониторинга метрик производительности приложений на базе Jmix для системы Grafana и источника данных Prometheus.
На данный момент в репозитории расположены две готовые панели инструментов. Одна для Jmix 1.6.0+, другая для Jmix 2.2.0+.
Также репозиторий содержит файл с более подробным описанием настройки Jmix для работы с метриками и панелями визуализации Grafana.

🔹Фотоотчет.

Надеемся для тех, кто не смог присутствовать на митапе, данная информация также будет полезна 🙌🏻 Если возникнут вопросы, мы с радостью ответим на них в чате.

#мероприятия
🔥12👍1
🎥 Запись вебинара: Событийный подход в разработке процессных приложений 2.0 с Jmix BPM
Дата проведения: 12.03.2025 год

Как сказал Стас Макаров, спикер вебинара и продуктовый аналитик Jmix, мы продолжаем наш "долгоиграющий сериал по Jmix BPM" 😎 Вторая серия уже доступна к просмотру здесь.

Следующий вебинар по Jmix BPM уже запланирован на 16 апреля, следите за нашими новостями!

#мероприятия
🔥93
Media is too big
VIEW IN TELEGRAM
Hot deploy 🚀– в Студию!

Горячее развертывание a.k.a. Hot deploy это крайне полезная фича для ускорения разработки, поскольку позволяет мгновенно применять изменения без остановки приложения.

Реализован Hot deploy был в Jmix давно, можно сказать изначально. Однако это не было столь удобно, как теперь в Jmix 2.5. Раньше надо было смотреть в консоль, чтобы убедиться, что Hot deploy сработал.

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

С таким индикатором разработчик постоянно видит состояние изменений в исходном коде и при может их доставить их в работающее приложение в любой момент. ⏱️

📚Подробнее читайте в документации.

#фича #jmix25
🔥182
БД со справочниками и демо данными в Git’е – это удобно!👻

Когда делаешь прототип, то часто приходится экспериментировать и откатываться назад, если идея не сработала или что-то пошло не так. С кодом проблем нет – Git позволит вернуться в точку, где все работало. Но как быть с базой?

Окей, схему БД синхронизирует Liquibase, за что ему большое спасибо. Но иногда эксперименты заходят так далеко, что базу проще сгенерить заново, чем чинить. А потом нужно опять заводить какие-то данные для демо или для тестирования.

Чтобы этого избежать, было бы удобно вместе с кодом хранить и версию базы. Тогда можно будет вернуться на любой шаг и продолжить разработку. Но как это сделать? Бэкапить базу вручную и помнить, для какой версии эти данные? Неудобно!

К счастью, есть способ проще: кладем саму БД в Git и дело в шляпе! Но этот способ работает только с HSQLDB, с Postgres или другой «настоящей» СУБД будет слишком хлопотно.

Что надо сделать:

1. Запустите приложение.
При этом база будет создана автоматически в папке .jmix/hsqldb

2. Отредактируйте файл .gitignore:
Нужно чтобы файлы БД из директории .jmix попадали в коммит, а все прочие игнорировались. Поэтому перечислим их следующим образом:

!.jmix/hsqldb/*.lobs (BLOB-объекты, если есть)
!.jmix/hsqldb/*.log

!.jmix/hsqldb/*.properties
!.jmix/hsqldb/*.noscript


Вместо * можете подставить ваш Project id, например, ord.log.

🔸Но не надо хранить в репозитории лок-файл *.lck, иначе будет выскакивать ошибка.

Вот и все! 🎉
Теперь при каждом коммите база данных тоже будет сохраняться, и вы сможете быстро перейти к любой версии.

Это еще удобно, когда показываешь систему и вводишь разные данные:
чтобы не чистить все вручную, можно просто взять и загрузить сохраненную версию.

#лайфхак
🔥9
🔈 Вебинар Jmix и Axiom JDK: Как перестать изобретать "велосипеды" и не сжигать ресурсы при создании проекта

9 апреля 2025, 16:00 по мск

Вместе с нашим партнером Axiom JDK, средой разработки и исполнения JAVA с российской техподдержкой для коммерческих и государственных компаний, обсудим важную тему - Как сократить затраты при разработке решений?

Разработчики и бизнес нередко по-разному подходят к решению задач.
Разработчики стремятся создавать все с нуля, самостоятельно, полагая, что так быстрее, удобнее и понятнее. На старте, когда проект ограничен небольшими задачами, этот подход может работать эффективно. Однако при расширении функционала появляются новые требования, усложняющие реализацию, увеличивающие затраты и создающие риски при внедрении и дальнейшем использовании.

🚲 Как избежать необходимости изобретать "велосипед"?


На встрече поговорим про:

🔹 Ситуацию с программным обеспечением на ИТ рынке 2025.
🔹 Вызовы при создании внутренних цифровых активов компании.
🔹 Пути разработки на Java. Подходы к построению архитектуры web-приложения.

🔗 Регистрация по ссылке

Присоединяйтесь к обсуждению!

#мероприятия
🔥9
Поваренная книга от Jmix:
Готовим пользовательские интерфейсы для людей

А вы знали, что в наших UI Samples есть сборник рецептов о том, как создавать интерфейсы, когда нужно сделать нечто более замысловатое, чем типовой CRUD-экран?
Вот, хотя бы с использованием композиций (composition).

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

Итак, экран с композицией

Предположим, мы создаем систему управления аэропортами✈️. Как известно, в аэропорте может быть несколько терминалов. То есть, сущности Airport и Terminal связаны отношением composition. Соответственно, надо открывать и редактировать атрибуты терминала из экрана аэропорта. Это можно сделать разными способами:

🔅Показать на экране редактирования сущности нужно таблицу со связанными объектами🔗, которые можно открывать и редактировать. Причем у вам может быть много уровней вложенности.

🔅Или можо использовать экран мастер-деталь, чтобы уменьшить вложенность диалоговых окон.

🔅А еще есть inline-редактор для таблиц, который тоже может быть удобен в каких-то случаях.

🔅И учтите, что при работе с композициями нужно позаботиться о правильной сортировке, чтобы видеть подчиненные сущности в контексте корневой.

🔅И бывает полезно информировать пользователя об изменениях, если они произошли после того, как он открыл экран

Как это правильно и удобно показать в интерфейсе,
смотрите по ссылке на нашу книгу рецептов📚


#cookbook #гайд
🔥12👍5
На недавнем вебинаре по Jmix BPM мы говорили о событиях в процессе.

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

Если вы думаете, что достаточно поставить флаг async и все волшебным образом образуется, то это не так. Все гораздо сложнее.

Чтобы разобраться в этом вопросе читайте на Хабре новую статью Станислава Макарова
Неблокирующий вызов внешнего сервиса в процессе

#статья
🔥6👍4
🆕 Видеообзор: Что нового в Jmix 2.5

Дмитрий Кремнев, ведущий разработчик Jmix, вернувшись с нашего митапа, не смог остаться равнодушным к просьбе коммьюнити подготовить отдельное видео по последним обновлениям и планам на будущее!

Специально для тех, кто не смог посетить встречу в Москве, публикуем обзор релиза 2.5 🤘

📌 VK
📌 YOUTUBE

Делитесь обратной связью в чате!

#обновления #jmix25
🔥15👍3
Продолжаем рассказывать про новое в релизе Jmix 2.5!🎉

Сегодня речь пойдет про REST API и REST DataStore, два аддона, которые работают в паре и дополняют друг друга. В новом релизе их взаимодействие стало еще теснее.

🔸Фетч-планы в REST API и REST DataStore
Теперь вы можете передавать произвольные fetch-планы в виде JSON-объектов в ваши REST API endpoints.

Что это значит для вас? 🤔
Больше не нужно определять все fetch-планы в общих репозиториях.
Используйте встроенные fetch-планы в ваших клиентских экранах и Java-коде!

🔸Новый Capabilities API
Он информирует клиента о функциях, поддерживаемых данным универсальным REST API.

🔸Использование FileStorage с REST DataStore
В REST DataStore  появилась специальная реализация FileStorage, которая работает с файлами, расположенными в хранилище файлов удаленного приложения через REST-эндпойнты /files.

🔸Настраиваемые пути REST-эндпойнтов
Пути универсальных эндпойнтов REST API теперь можно настраивать с помощью свойств приложения.

🔸Сессии в REST API
Дополнение Jmix Sessions предоставляет поддержку сессий, поддерживаемых для REST-запросов с одним и тем же токеном. 

#фича #jmix25
🔥8👍3