Языки программирования

Apache обновляет Wicket

Apache обновляет Wicket

Apache Wicket обновлен до версии 10.2, последовавшей за крупным выпуском Wicket 10 в начале этого года. Веб-фреймворк с открытым исходным кодом Java теперь построен на базе Java 17 и имеет новый тестер модулей для улучшения внедрения JPMS. Также появилась поддержка HTTP2 в основном модуле Wicket.

Wicket - это основанный на компонентах фреймворк веб-приложений для Java, который является конкурентом таких фреймворков, как Tapestry. Он выпускается уже более 10 лет, состоит из Java-кода и HTML-разметки, имеет Ajax-функциональность и хороший выбор базовых Ajax-компонентов.

Страницы и компоненты в Wicket - это настоящие объекты Java, поддерживающие инкапсуляцию, наследование и события. Глобальные библиотеки JavaScript и стилизация CSS правильно сочетаются с локальными ресурсами JavaScript и CSS компонентов. Разработчики могут использовать пользовательские библиотеки компонентов, которые поставляются с поведением JavaScript и стилем CSS по умолчанию, без необходимости делать что-либо дополнительно.

Wicket поставляется с поддержкой инъекций и обеспечивает интеграцию с CDI, Spring и Guice. Он также имеет интеграцию с Jakarta EE, и разработчики могут использовать JPA, EJBs, Bean Validation и CDI.

Основным изменением Wicket 10 является его переработка для использования Java 17. Он также совместим с Java 21. Wicket 10 поставляется с инструментом миграции на основе OpenRewrite для ускорения перехода с Wicket 9. Чтобы улучшить внедрение JPMS (Java 9 Platform Module System), в Apache Wicket 10.0 появился новый модуль wicket-tester, содержащий общие классы для модульного тестирования. Пользователи класса WicketTester теперь должны включать этот модуль в качестве тестовой зависимости.

В Apache Wicket также добавлена поддержка HTTP2 в модуле wicket core, а ByteBuddy заменил CGLib для создания сериализуемых прокси для классов.

В этом выпуске также добавлена поддержка политики безопасности содержимого (Content Security Policy, CSP). Стандарт CSP позволяет приложениям объявлять одобренное происхождение контента, такого как JavaScript, CSS и изображения для загрузки браузером. Разработчики Wicket говорят, что они сосредоточились на защите от нежелательных встроенных скриптов, так называемых «unsafe-inline», которые являются наиболее распространенной причиной уязвимостей межсайтового скриптинга. Wicket 10 поставляется с полной поддержкой CSP и не нуждается в каких-либо директивах unsafe. Он автоматически добавляет nonce в каждый заголовок и вносит его в белый список, что позволяет гибко загружать ресурсы без необходимости использования сложного CSP.

Wicket 10.2 имеет ряд мелких улучшений, включая улучшение доступности AutoCompleteBehavior. Новая версия доступна уже сейчас.

Читайте также