Отсутствие API - жёсткая типовая функциональность ⊷ Реактивное развитие - фичи появляются стихийно в ответ на внешние раздражители Основные проблемы 15
между бинами и UI компонентами, ⊷ Не содержит полезного кода, только делегирует исполнение. Нововведения: ⊷ @ActionType ⊷ Делегация вместо наследования классов действий 22
Loader Декларативный механизм загрузки данных для контейнеров. Data Context Отслеживает и сохраняет изменения в графах сущностей. DataComponents фабрика компонентов данных.
значения локальных атрибутов и старые id ссылок ⊶ Может быть обработан внутри транзакции или после коммита ⊶ Требует наличия аннотации @PublishEntityChangedEvents ⊷ TransactionalDataManager ⊶ Выполняет действия в контексте активной транзакции или стартует новую ⊶ Принимает и возвращает detached сущности, явно сохраняет в БД ⊶ Применяет security и все остальное ⊷ Работают JPA lifecycle callbacks ⊶ @PrePersist, @PreUpdate, etc. Изменения в API среднего слоя 39
API) ⊷ DOM атрибуты (API) Применение: ⊷ Простейшие манипуляции CSS ⊷ Компоновка при помощи CSS Flex / Grid в CssLayout Ограничение: только для верхнего DOM элемента в UI компоненте 48
размеров. Screen Mixins Новый механизм выделения сквозной функциональности UI экранов в интерфейсы- примеси. Context Help Все UI компоненты поддерживают иконку контекстной справки с подсказкой. 49 ValueChange Source В события изменения значения в UI компонентах добавлен признак userOriginated. Button ClickEvent Для кнопок доступно событие ClickEvent. Назначать Action больше не требуется. BCrypt Hash Для новых проектов используется алгоритм хэширования паролей BCrypt.