Hilla – это типобезопасная веб-инфраструктура для Spring Boot. (Кто ни разу не слышал, это штука типа Vaadin-а). Было объявлено о выпуске версии 2.0. Этот выпуск использует Spring Boot 3, Java 17 и Jakarta EE 10, что обеспечивает доступ к новейшим функциям и улучшениям в экосистеме Java.
Hilla 2.0 также включает улучшенный генератор TypeScript, поддержку web-сокетов для реактивных endpoint-ов, поддержку нативных образов GraalVM, упрощенный механизм SSO.
Благодаря новой функции реактивных endpoint-ов Hilla разработчики могут отправлять данные клиентам в потоке, не используя обычный шаблон HTTP-запрос-ответ.
Эту функцию использует Reactor для потоковой передачи данных и требует включения поддержки hillaPush.
Благодаря реактивным endpoint-ам Hilla позволяет разработчикам передавать данные в web-интерфейс в виде последовательности из 0-N элементов, которые можно преобразовать, подключить к другим потокам и иметь несколько подписчиков. Чтобы узнать больше о реактивных endpoint-ах и реактивном программировании, вы можете почитать блог директора Vaadin — Artur Signell и руководство Project Reactor.
Еще одним важным дополнением к Hilla 2.0 является поддержка собственных образов GraalVM. Эта функция включает подсказки AOT-компилятора, необходимые Spring Boot для создания собственного образа GraalVM.
Собственные образы обеспечивают более быстрое время запуска и меньшее использование памяти по сравнению с приложениями на основе JVM.
Разработчики могут создавать собственный образ локально с помощью Maven и использовать пакеты сборки для создания контейнера для развертывания.
Тем не менее Hilla 2.0 также включает в себя упрощенные темы, новый модуль SSO для быстрого добавления возможности единого входа в приложения Hilla и улучшенный генератор TypeScript-а. Модуль единого входа позволяет интегрироваться со сторонними поставщиками удостоверений, такими как Okta, Keycloak и Active Directory и предоставляет всю необходимую конфигурацию для добавления возможностей единого входа в приложения Hilla на основе OpenID Connect.
Одним словом надо попробовать 😊