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
🎉В документации Jmix добавлен раздел «Руководства»/«Guides», который кроме знакомого вам Самоучителя/Tutorial включает семь (7️⃣) руководств по базовым и продвинутым темам.

Что такое «Руководство»? – Это не просто методичка, как решить какую-то конкретную задачу один определенным образом. В разработке ПО мы всегда имеем множество путей реализации функциональных и иных требований. Поэтому наши руководства не задают жестких рамок, как именно делать, а открывают пространство вариантов, из которых вы можете выбирать.

Например, руководство по созданию бизнес-логики в Jmix
− сначала рассказывает, что мы собираемся построить,
− показывает, что получится в финале,
− объясняет, что такое бизнес-логика,
− демонстрирует на примерах различные варианты реализации.

Как было сказано, таких руководств уже семь:
Создание бизнес-логики в Jmix
Разделение бизнес-логики с помощью событий приложения
Логирование приложений Jmix
Интеграция Jmix-приложений
Разделение приложения по слоям
Интеграция приложений с использованием OpenAPI
Интеграция MongoDB и Jmix

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

#гайд
👍12🔥7
📢 Продолжаем серию вебинаров про Jmix BPM!

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

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

🔹 Как на практике применить событийно-ориентированный подход к автоматизации бизнес-процессов.
🔹 Какие инструменты BPMN для этого применяются.
🔹 Как организовано межпроцессное взаимодействие.

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

🔗 Регистрация по ссылке. Ждем вас!
#мероприятия
🔥8🤩2
Почему full-stack разработка — будущее веб-приложений 

Статья Дмитрия Черкасова обсуждает эволюцию разработки программного обеспечения и акцентирует внимание на переходе к full-stack разработке веб-приложений.

Краткий обзор:

Разработка ПО прошла долгий путь — от машинного кода до современных фреймворков. Раньше веб-приложения генерировали HTML на сервере, но пользователи захотели более отзывчивых интерфейсов. Это привело к созданию одностраничных приложений (SPA), которые, хоть и были прогрессивными, сталкивались с проблемами взаимодействия между клиентом и сервером.

Автор предлагает объединить клиентскую и серверную части в одном full-stack приложении, что упрощает процесс разработки и делает его более целостным, позволяя единой команде быстро добавлять новые функции, избегая сложностей, связанных с SPA.

Есть несколько подходов к full-stack разработке: API-first, Code-first и серверный рендеринг. Каждый из них имеет свои преимущества, но главное — это автоматизация сетевого взаимодействия, которая экономит время и снижает риск ошибок.

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

🖌Эта статья показывает, как full-stack разработка помогает сосредоточиться на бизнес-задачах и должна вдохновить вас на использование современных подходов в создании веб-приложений!

#статья
👍9
Почему в разработке чат-ботов мы используем Jmix

На Хабре опубликована статья Евгения Боровкова, CEO копании Structura.app, где он рассказывает об опыте использования Jmix в своем бизнесе.

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

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

Конечно, готового специалистов по Jmix нелегко найти на рынке, но это не проблема – можно вырастить их в своей команде. У Jmix хорошая документация, так что в нём можно быстро разобраться.

«За шесть лет работы в нашей айти-команде пока не нашли ни одного критичного минуса,» -- говорит автор статьи.
#статья
9👍3
🕐 Мы с напоминанием: уже сегодня в 17:00 по местному времени встречаемся на нашем Jmix митапе в Алматы! На мероприятии нас ждут полезные доклады, неформальное общение и розыгрыш ценных призов. Не пропусти!

Место встречи: г. Алматы, коворкинг SmArt.Point, зал Freedom

Регистрация начинается в 16.30.
🎉6🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🙀Краткий гайд для участников митапа в Алматы - как найти зал и не заблудиться!
6😱3🔥1
5 декабря встретимся на митапе для java-разработчиков Naumen.
Спикеры поделятся опытом в промышленной java-разработке, реальными кейсами и полезными рекомендациями.
 
В программе три доклада:
🔸 Как приручить JSON — Максим Осипов, руководитель группы разработки Naumen SMP
🔸 Прагматика микросервисов: строим большую систему с помощью пачки монолитов — Дмитрий Черкасов, DevRel Jmix
🔸 Бэкэнд изображений в ОК — Руслан Измайлов, ведущий java-разработчик в ОК, VK
 
Старт митапа 5 декабря в 16:00 мск | 18:00 екб.
 
Митап пройдет онлайн, участие бесплатное — нужна только регистрация.
 
Зарегистрироваться на митап

#мероприятия
🔥12👍1
Создание бизнес-логики в Jmix

Тех, кто впервые знакомится с Jmix, поражает легкость, с которой можно создать модель данных и CRUD-экраны. А что дальше? – Дальше надо писать код, чтобы ожили ваши кнопки на формах, чтобы выполнились расчеты и произошел обмен данными с другими системами. Это все называют бизнес-логикой.

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

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

Для этого подойдет бизнес-логика в контроллерах экранов (view).
Технически это довольно просто: определяете в XML-дескрипторе кнопку, создаете хэндлер, обрабатывающий ее нажатие, и Jmix сам перебрасывает вас в контроллер, где надо написать, что именно эта кнопка делает. Например, рассчитывает скидку и стартует процесс согласования этой скидки.

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

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

#гайд
🔥143👍3
Асинхронные задачи UiAsyncTasks в Jmix 2.4

Наверное, вы замечали, что при выполнении длительных операций интерфейс Jmix как бы ❄️«замораживается»? В этот момент пользователю остается только ждать, пока действие завершится.😓

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

А иногда система просто немного подтормаживает, что бывает при обращении к внешним сервисам или операциях с БД. Каждый раз показывать progressBar было бы раздражающе для пользователя и трудоемко для разработчика. Но и заставлять пользователя ждать тоже не хочется. Как быть?

Как раз эту боль и лечит UiAsyncTasks, запуская длительную операцию в асинхронном режиме. Пока система думает, пользователь может продолжать работать.
С помощью UiAsyncTasks вы можете значительно 👍улучшить user experience вашего приложения.

#фича
🔥13👍5
📌 Что нового в Jmix 2.4?

3 декабря в 16:00 по мск Дмитрий Кремнев, ведущий разработчик Jmix, проведёт открытый вебинар, на котором расскажет о новых функциях и улучшениях в последнем мажорном релизе Jmix 2.4 и ответит на ваши вопросы.

Ключевые обновления, о которых пойдет речь:

🔹 Новые дополнения: Kanban, Calendar, PivotTable, UI Constraints, REST DataStore
🔹 Привязка данных к компонентам HTML
🔹 Fragment Renderer
🔹 Асинхронные задачи
🔹 Улучшения полнотекстового поиска
🔹 Улучшения Инспектора компонентов Jmix Studio
🔹 Генерация клиента OpenAPI в Jmix Studio

👉🏻 Регистрируйтесь, готовьте вопросы и подключайтесь 3 декабря в 16:00 по Мск.

#мероприятия
🔥115👍3
Media is too big
VIEW IN TELEGRAM
Синхронное и асинхронное выполнение длительных задач в Jmix Flow UI

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

Вам решать – пусть пользователь немного потерпит или использовать один из методов асинхронного выполнения задач:
UiAsyncTasks
Фоновые задачи

Кстати, а в чем разница? – 👀Смотрите наше видео на эту тему!

#фича
👍10🔥1
Дополнение Calendar

Надоело прикручивать календарь руками к спискам задач, проектам и таймшитам? – Встречайте новое дополнение «Календарь»! Оно обеспечивает плавную интеграцию с JavaScript-компонентом FullCalendar, популярной библиотекой для создания интерактивных календарей.

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

Компонент FullCalendar становится доступен в палитре Add Component дизайнера экранов Студии, как только вы установите дополнение в свой проект. Вы можете создавать свои классы событий для календаря и загружать в него данные, как это обычно делается при помощи контейнера данных.

Вариативность внешнего вида и функциональных свойств календаря очень широка. Поэтому потребовалось сделать аж 27 примеров в нашем LIVE DEMO, чтобы вы могли разобраться во всех нюансах.

Подробнее -> здесь.

#фича
🔥16👍1
😱АЛАРМ! Если вы еще не зарегистрировались на вебинар по Jmix 2.4 - самое время это сделать! Возможно забыли упомянуть, но у нас будут выступать эстрадные звезды🕺 - Газманов, Киркоров и Руки Вверх. 🎙И между делом мы расскажем о новинках Jmix 2.4 традицонно в формате стенд-апа. Регистрируйтесь пока еще есть места!
🔥9😱1🤩1
Jmix.ru pinned a photo
This media is not supported in your browser
VIEW IN TELEGRAM
В Jmix 2.4 есть канбан-доска!

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

🔥Популярные юз-кейсы канбан-доски просто впечатляют😍. В IT-компаниях команды используют ее для управления проектами, чтобы видеть текущие задачи и их приоритеты. В разработке ПО канбан помогает отслеживать прогресс по фичам и исправлениям ошибок. А в маркетинге — планировать кампании и следить за выполнением задач.

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

🔗Дополнение основано на JavaScript-библиотеке Smart Kanban.

#фича
👍11🔥6
Уменьшение связности бизнес-логики при помощи событий приложения

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

Но как этого добиться на практике?
Используйте событийно-ориентированный подход при разработке бизнес-логики, когда компоненты не вызывают друг друга напрямую, а взаимодействуют путем отправки и обработки событий.

В платформе Jmix есть множество типов событий, которые можно получать и обрабатывать:
o Entity Lifecycle Events
o Application Lifecycle Events
o UI Events
Также, вы можете определить свои события – Custom Application Events.

Наверняка, вы уже с ними знакомы и не раз использовали. Например, когда договор подписан (то есть, установлен соответствующий атрибут), то можно поймать событие EntityChangedEvent и при помощи слушателя запустить процесс оплаты.

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

Новый гайд рассказывает, как еще более уменьшить связность с использованием собственных событий и демонстрирует это на хорошо знакомом вам примере Pet Clinic.

Когда визит в клинику завершен, то автоматически должен стартовать процесс его оплаты. Для этого создадим кастомное событие TreatmentCompletedEvent, которое будет публиковаться после завершения лечения или обследования. И создадим компонент InvoicingProcessInitializer, который будет ловить только это событие и запускать оплату. Таким образом, нам не придется тревожить «большой» слушатель.

Не забываем и про слой UI, где тоже активно используются события. Со стандартными UI-событиями типа InitEvent или BeforeShowEvent вы также скорее всего знакомы. Но можно определять и собственные UI-события, отражающие вашу бизнес-логику.

В качестве примера в гайде показано, как создать свое событие начала лечения TreatmentStartedEvent и использовать его, чтобы обновить значение элемента в MainView. Прямым вызовом из открытого экрана списка назначенных визитов это было бы невозможно.

Чтобы во всем разобраться основательно, можете воспользоваться демо-проектом с GitHub.

#гайд
👍13
📢 Уже ЗАВТРА! Вебинар по Jmix BPM!

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

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

🔹 Как на практике применить событийно-ориентированный подход к автоматизации бизнес-процессов.
🔹 Какие инструменты BPMN для этого применяются.
🔹 Как организовано межпроцессное взаимодействие.

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

🔗 Регистрация по ссылке. Ждем вас!

#мероприятия
👍7
📢 Уже ЗАВТРА!

5 декабря встретимся на митапе для java-разработчиков Naumen. Спикеры поделятся опытом в промышленной java-разработке, реальными кейсами и полезными рекомендациями.
 
В программе три доклада:
🔸 Как приручить JSON — Максим Осипов, руководитель группы разработки Naumen SMP
🔸 Прагматика микросервисов: строим большую систему с помощью пачки монолитов — Дмитрий Черкасов, DevRel Jmix
🔸 Бэкэнд изображений в ОК — Руслан Измайлов, ведущий java-разработчик в ОК, VK
 
Старт митапа 5 декабря в 16:00 мск | 18:00 екб.
 
Митап пройдет онлайн, участие бесплатное — нужна только регистрация.
 
Зарегистрироваться на митап

#мероприятия
👍3🔥1
👨‍💻Дима Черкасов, Jmix DevRel, сегодня круто выступил с докладом на Naumen Java Meetup🎙 по теме Self-Contained Systems. Если вы еще не слышали👀 про эту концепцию архитектуры или наоборот задумали применить ее в следующем проекте🕺, то вы можете закидать Диме вопросики в комментах под этим постом. Дима 🔥горит этой темой🔥 и яростно сражается на внешних площадках с фанатиками микросервисов👊! Ему точно зайдет ваша поддержка!💪

#мероприятия
🔥17👍1