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
This media is not supported in your browser
VIEW IN TELEGRAM
Jmix 2.5: Расширенный экран списка задач BPM

В Jmix BPM кроме стандартного экрана задач, можно добавить расширенный экран, который стал более дружественным к пользователю.

Но главное его достоинство не в этом. Этот экран вам будет проще дорабатывать.

Потому что он создается при помощи визарда экранов — просто выбираете из списка шаблонов BPM Advanced task list view —и готово! Этот экран является частью вашего проекта, с ним можно работать обычным образом —изменять дизайн, добавлять поля и т.д.

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

А для новых проектов сразу берите новый экран!

Лайфхак: можно создать сколько угодно таких экранов в проекте!
— Зачем это нужно? Например, чтобы сделать разные экраны для разных категорий пользователей и типов задач.

Так вы создаёте не просто экран, а UX, который нужен вашим пользователям.

#jmix25 #фича
🔥10👍4
⚙️ Мастер-класс по UI: Быстрое создание пользовательского приложения на Jmix

Дмитрий Кремнев успевает всё! И разработкой заниматься, и наш новый худи выгуливать, и мастер-класс приготовить по Jmix UI 🌪

23 апреля в 16:00 по мск Дима вместе с Антоном Решановым, Руководителем продаж, продолжит тему про пользовательский интерфейс и вместе с вами создаст пример экрана пользователя в социальной сети. Напомним, что в прошлом году мы разобрали теоретическую часть Jmix UI.
📌 Рекомендуем ознакомиться с прошлым вебинаром.

В этот раз вы научитесь реализовывать пользовательский CSS и создавать приложения со специфичным CSS. Дима поделится лучшими практиками и ответит на любые вопросы!

🔗 Регистрация на вебинар тут.

Всем жмых! 👨‍💻

#мероприятия
🤩12👍3🔥1
‼️ ЗАВТРА! Вебинар Данные в действии: Как Jmix BPM превращает бизнес-процессы в эффективные механизмы

Мы продолжаем открывать для вас инструменты Jmix BPM!

Каждый месяц Станислав Макаров, продуктовый аналитик Jmix, с увлечением готовит для вас новый вебинар. Стас даже придумал себе фирменный элемент одежды. Какой? Подсказка на картинке 😉

В этот раз Стас расскажет как Jmix BPM позволяет реализовать сложные сценарии обработки данных в виде сервисных задач бизнес-процесса.

На встрече вы узнаете:

▪️Что такое процессные переменные и как их правильно использовать.
▪️Когда и как применять Entity Data Task, и когда их использовать не стоит.
▪️Как реализовать Service Task по обработке данных.
▪️Каковы лучшие практики и риски при использовании бизнес-данных в процессе.

Встречаемся онлайн 16 апреля в 16:00 по мск 🙌

#мероприятия
🔥82👍1
⚡️ Вебинар "Данные в действии: Как Jmix BPM превращает бизнес-процессы в эффективные механизмы" начнется через 5 минут по ссылке ➡️ https://my.mts-link.ru/j/104598363/666770320

Присоединяйтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Jmix на форуме «Облака в деле: реальные кейсы, опыт партнеров и новые возможности»

22 апреля Облакотека, интеграционная облачная система, проводит IT-форум в Казахстане. Конечно, мы не могли пропустить это мероприятие!

🎙 Виктор Фадеев, Product Manager Jmix, выступит с докладом "Быстрый старт в «облаках» через профессиональную Dev-платформу Jmix”. Если есть возможность, приходите! Виктор также будет рад встречи, его телеграм для связи.

Форум проходит на базе площадки Qazaq IT Community с 09.30 до 13.30 часов.

➡️ РЕГИСТРАЦИЯ НА ФОРУМ

📍г. Алматы, SmArt.Point, Коворкинг-центр, ​БЦ Almaty Towers​ Улица Байзакова, 280, Конференц-зал Smart Space

До встречи в Алматы!

#мероприятия
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥101
Продолжаем рассказывать про Jmix 2.5📢

В 2024 году стандарт UUIDv7 был официально принят в RFC 9562, и теперь он используется в Jmix для генерации значений UUID, аннотированных @JmixGeneratedValue.

📌 Почему UUIDv7 – лучше, чем раньше?

До принятия UUIDv7 в Jmix использовались случайные UUID, но у них были серьезные недостатки:

Плохая работа с индексами БД – UUIDv4 генерируется случайно, поэтому новые записи вставляются в разные места индекса, вызывая его фрагментацию и снижая производительность запросов.
Нестабильный порядок вставки – Из-за хаотичной структуры UUIDv4 вставка новых записей может замедляться, особенно в больших таблицах.

📌 Почему UUIDv7 – лучший выбор для идентификаторов сущностей?

Основан на времени – UUIDv7 включает временную метку, что делает его естественно упорядоченным. Это особенно полезно для ключей в базе данных, так как новые записи вставляются в правильном порядке.
Оптимизация индексов – В отличие от случайных UUIDv4, которые могут вызывать фрагментацию индексов, UUIDv7 помогает сохранять производительность запросов и снижает нагрузку на базу данных.
Автоматическое использование в Jmix – UuidProvider.createUuidV7() используется по умолчанию в EntityUuidGenerator, так что вам не нужно ничего менять вручную.

Впрочем, если вы хотите, чтоб все осталось как было раньше, со случайными UUID, добавьте в application.properties параметр
jmix.core.legacy-entity-uuid=true

Но лучше все-таки перейти на новый стандарт.
Используйте UUIDv7 для стабильной и эффективной работы базы данных! 🎉

По нашему опыту, только благодаря использованию UUIDv7 на некоторых операциях с базой данных можно получить прирост производительности в два раза! 🚀🚀

#фича #jmix25
🔥9👍31
На прошедшем вебинаре по Jmix BPM могло показаться, что все не работает, процесс падает и вообще непонятно что с этим делать.

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

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

Потому что BPM—штука реально сложная, и никуда от этого не деться. Но и пугаться или совсем от него отказываться из-за сложности не следует. Надо просто принять как факт, что эту тему придется погружаться глубоко, только знания BPMN недостаточно. Еще надо понимать, как именно процесс исполняется движком и какие могут быть проблемы.

Пожалуй, самая большая боль это Optimistic Locking Exception.

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

На вебинаре мы как раз смоделировали такую ситуацию и попробовали разные методы, как ее разрулить. И вот что в итоге:

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

Была гипотеза ловить это исключение, кидать BPMN Error и обрабатывать его в процессе. Но тут другая беда: чистый OptimisticLokingException может быть обернут в разные спринговые исключения, например, TransactionSystemException. И таких вариантов несколько. То есть, обрабатывать эту цепочку исключений программно получается довольно громоздко.

Переход к асинхронным задачам немного улучшает ситуацию, но не решает ее кардинально. Такой процесс уже не падает, движок честно сам пытается несколько раз задачу все-таки выполнить, а если не получилось, отмечает ее как Failed job, которую можно потом перезапустить вручную.

Попробовали пессимистическую блокировку. (Вы же знаете, что в Jmix есть такой специальный адд-он, да?) — Тоже неидеальное решение. Все потому, что в недрах Spring наш OptimisticLockingException может обернуться совсем другим классом.

И что в итоге?

Самый действенный метод борьбы с оптимистическими блокировками это использование очередей в брокере сообщений. Берем RabbitMQ, например. В одну очередь кидаем запрос на резервирование. Потом специальным сервисом читаем сообщения из очереди, выполняем резервирование и отправляем ответ в другую очередь. Слушатель на этой очереди читает ответы и отправляет BPMN-сообщения в соответствующие экземпляры процессов.

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

Делаем вывод:
Если из модели процесса понятно, что возможны оптимистические блокировки и что нагрузка будет достаточно высокой, лучше сразу закладываться на использование брокера сообщений. Если нагрузка невелика, то справится и штатных механизм fail-retry.

Если хочется попробовать руками, как это все работает, вот проект на GitHub:
bpm-webinar-data-centric-process

Не смогли присоединиться онлайн?
Ловите запись встречи:
😄ВК
😉YOUTUBE
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍41
Cравнительный анализ React и Jmix для написания UI бизнес-приложений.

Красивый и функциональный интерфейс - это React? Но React'ом ли единым? 🤔 Есть ли другие инструменты для эффективного написания бизнес-приложений?

VK Tech в блоге сравнивает варианты реализации стандартного CRUD приложения Petclinic на Jmix и React + Spring Boot.

Какой вывод был сделан, читайте на Хабре.

#статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
👨‍💻 Дорогу молодым!

18 апреля в Самаре прошло самое интересное мероприятие, которое может быть в ИТ-мире - Хакатон! И главное, что в нем приняли участие ребята из Самарского регионального центра для одаренных детей.

Мероприятие прошло в педагогическом технопарке "Кванториум" им. В. Ф. Волкодавова на базе Самарского государственного социально-педагогического университета 🎓

Хакатон проводится уже третий раз, но в этом году Jmix выступил партнером!

Павел Александров, наш ведущий разработчик, принял участие в составе жюри и провел награждение победителей подарками от Jmix. Все участники молодцы! 💪 Было невероятно интересно и приятно выступать экспертами на мероприятии в поддержку молодежи.

Желаем ребятам ИТ-успехов, чистого кода, а мы всегда рядом, чтобы предоставить современные технологии и поддержать будущие ивенты!

#мероприятия
👍12🔥54
🥳 Сегодня команда Jmix участвует на мероприятии «Облака в деле» г. Алматы организованного облачным провайдером Cloupard и Qazaq IT Community. Вместе с партнерами расскажем о кейсах Jmix по создании бизнес-приложений для развертывания в облачной инфраструктуре.

#мероприятия
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥9
ЗАВТРА Мастер-класс по UI: Быстрое создание пользовательского приложения на Jmix

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

В то же время, многие разработчики на Jmix полагают, что тогда им вообще не потребуется погружение во фронтенд 🙄 Если говорить про создание внутренних приложений, то возможно фронт и не пригодится. Но при разработке приложений для пользователей избежать работы с фронтендом не получится, особенно потребуется знание CSS.

Да, CSS может быть сложным и трудоемким, но у нас хорошие новости: в Jmix 2.x работать с CSS намного проще по сравнению с Jmix 1.x! 👍

Дмитрий Кремнев, ведущий разработчик, вместе с Антоном Решановым, коммьюнити-менеджером, расскажут, как с помощью CSS можно быстро и легко создавать стилизованные экраны с нуля.

📌 Обязательно регистрируйтесь тут.

#мероприятия
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥3👍1
⭐️ История успеха: Квадриум "Создание системы управления рисками"

Компания «Квадриум», поставщик бизнес-решений для крупного бизнеса, разработала систему "Quadrium ActiveGRC" на базе Jmix.

Система ActiveGRC:
🔸 Автоматизирует риск-менеджмент.
🔸 Работает по модели трех линий защиты.
🔸 Помогает компаниям предсказывать и снижать риски.

Мы гордимся сотрудничеством с одной из ведущих компаний на рынке 🤝 и делимся полезными инсайтами здесь.

А еще хотим сказать, что на Jmix сообщество создает много решений класса GRC. Если у вас есть идеи сделать подобный проект, то приходите к нам! Мы расскажем и покажем, что сделали другие 😊

#кейсы_клиентов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9
Media is too big
VIEW IN TELEGRAM
🔸 Редактирование объектов на карте в Jmix 2.5 🗺️✏️

Адд-он Maps уже давно присутствует в арсенале разработчиков Jmix. Основанный на библиотеке OpenLayers , он позволяет легко добавить отображения карт на любые экраны Jmix — например, локации 🚗 ваших автомобилей, 🏢 адреса клиентов, 🏧 расположение банкоматов, 🗺️ границы земельных участков, 🥾 туристические маршруты и что угодно.

Чаще всего эта информация берётся из гео-данных, связанных с сущностями Jmix. И до недавнего времени единственное, что можно было сделать в интерактивном режиме — это переместить точку 📍 на карте.

А вот создавать или изменять линейные и площадные объекты — такие как 🛣️ дороги, линии электропередач, 🌾 поля, 📦 границы зон доставки и прочее — можно было только по координатам, что для обычных пользователей крайне неудобно.

И вот, в версии Jmix 2.5 появилась возможность редактировать объекты прямо на карте! 🛠️

Просто добавьте атрибут featureModifyEnabled="true"к своим векторным или дата-слоям — и готово — можно двигать его узловые точки.

А чтобы иметь возможность перетаскивать объект целиком, включите атрибут featureDragEnabled="true". Также можно удалить объект с карты.

Эти режимы активируются специальными кнопками в верхнем левом углу карты.

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

#фича #jmix25
🔥12👍1
Вчера на мастер-классе по UI Дмитрий Кремнев, ведущий разработчик, вместе с Антоном Решановым, коммьюнити-менеджером, рассказали, как с помощью CSS можно быстро и легко создавать стилизованные экраны с нуля.

Не смогли присоединиться онлайн?
Ловите запись встречи:
😄ВК
😉YOUTUBE

#мероприятия
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🎉5🔥3
Media is too big
VIEW IN TELEGRAM
🔸Пустое состояние DataGrid

🎉Небольшое, но полезное улучшение!

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

Лучше четко и ясно сказать: «У вам еще нет заказов» или «Нет запущенных процессов» или еще что-нибудь. Таковы правила хорошего UX.

Теперь появилось даже два варианта, как это сделать:

1️⃣ Атрибут emptyStateText—просто добавляете его к своему dataGrid, и этот текст покажется на экране, когда список пуст:

emptyStateText="No items in this list"

2️⃣ Более полдвиутый вариант: вы можете добавить к dataGrid дополнительный компонент, emptyStateComponent, в который можно вставить любой визуальный компонент по вашему вкусу – текстовое поле, кнопку, заголовок и так далее.
Но только один.
Например, так:

<emptyStateComponent>
<h1 text="There is nothing here"/>
</emptyStateComponent>


🔗Подробнее смотрите в документации.

#фича #jmix25
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥1
🔠🔠🔠💡🔠🔠🔠🔠
Поздравляем команду Java Boys Рустама Курамшина с победой в хакатоне МТС True Tech Hack 2025 с AI проектом на Jmix!

#мероприятия
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍8🎉2
😳 Еще немного подробностей от Рустама Курамшина - первое место среди 300 команд! Попробуем провести в ближайшее время стрим и узнать от Рустама как это было и в чем секрет успеха!
😄Один секрет 👨‍💻 мы конечно знаем, но такой результат даже с супер инструментом не сделать без навыков и сплоченной команды.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍4
😯 2 разработчика + Jmix = запуск системы за 10 месяцев!

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

ФПГ «Синара» реализовала проект на платформе Jmix всего за 10 месяцев силами небольшой команды — до запуска в опытную эксплуатацию было задействовано всего двое Java-разработчиков!

Используя RAD инструменты в привычной среде IDE удалось в несколько раз ускорить работу по проектированию и отладке сущностной модели, а также реализовать собственные low-code надстройки для управления интеграциями. Созданная система показала свою экономическую эффективность уже в первые месяцы после запуска 🔥

🔖Читайте статью в нашем блоге.

Если требуется консультация по созданию систем в рекордные сроки, мы рядом 😉

#кейсы_клиентов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍2