У тех, кто впервые столкнулся с Java-разработкой в последние пять лет, могло сложиться впечатление, что Spring всегда был доминирующим фреймворком, а сам язык предназначен для разработки backend в web-приложениях. Однако пока web-приложения были проще, специализация frontend-разработчика не была такой очевидной, интерфейс обновляли на сервере, а Java поддерживала ряд фреймворков, управляющих динамической HTML-версткой.
Эти фреймворки до сих пор живут в легаси, которое проще поддерживать, чем переписать. Они могут требовать обновлений, когда у регуляторов возникают новые требования или меняется корпоративный стиль оформления интерфейса. А если фреймворк живёт, то к нему желательно иметь подходящий инструмент. Поэтому сегодня мы расскажем сразу про четыре инструмента в GigaIDE PRO, поддерживающие уже не столь трендовые, но достаточно распространённые в среде «кровавого энтерпрайза» фреймворки.
Начнём наш обзор с рассказа про поддержку самых «древних».
Поддержка Jakarta Pages (JSP)
Jakarta Pages (JSP, ранее JavaServer Pages) — это набор технологий, которые помогают разработчикам программного обеспечения создавать динамически генерируемые web‑страницы на основе HTML, XML или других типов документов. Родился фреймворк аж в 1999 году, но до сих пор развивается.
Поддержка Jakarta Server Pages (JSP) в GigaIDE PRO реализована через одноимённый плагин, и это:
подсветка синтаксиса JSP;
навигация к объявлениям из директив и actions- и HTML-тегов;
вызов документации (всплывающие панели) для директив и стандартных actions- и HTML-тегов;
автодополнение для директив и их атрибутов, HTML-тегов;
фолдинги структур;
быстрое комментирование;
подсветка парных JSP-конструкций, скобок, HTML-тегов;
для Java-кода есть базовые инструменты навигации, документация, автодополнение (в рамках одного скриптлета, объявления или выражения для встроенных JDK-пакетов);
подсветка языка выражений (Jakarta Expression Language).

Видеообзор функциональности плагина Jakarta Server Pages (JSP):
У плагина Jakarta Server Pages (JSP) есть опциональная зависимость на плагин Jakarta Expression Language.
Поддержка Apache Freemarker (FTL)
Apache Freemarker — это шаблонизатор на основе Java, изначально ориентированный на динамическую генерацию web-страниц с использованием архитектуры MVC. Он может генерировать текст на основе шаблонов и изменяющихся данных. В отличии от JSP, первый релиз был уже в этом веке — в 2000 году.
Поддержка соответствующего фреймворка в GigaIDE PRO реализована через плагин Freemarker, который обеспечивает:
подсветку синтаксиса для FTL-файлов;
фолдинги для многострочных блоков языка Freemarker;
автокомментирование при помощи горячих клавиш Ctrl+/ или Ctrl+Shift+/;
выделение парных скобок и парных блоков (например,
if,elseif,else,endif);навигацию, дополнения и переименования для переменных Freemarker;
навигацию, дополнения для пути в
importиinclude;дополнения директив и встроенных функций built-ins;
возможность неявно объявить
ftlroot, относительно которого будут искаться файлы дляimportиinclude;возможность неявно присвоить переменной Java-тип для навигации и дополнений;
инспекции по неизвестным или устаревшим built-ins, а также по характеру использования переменных, цепочек вызовов, для которых не найдено объявления;
подсветку внешнего языка внутри FTL-файлов.

Видеообзор функциональности плагина Freemarker:
Поддержка Jakarta Faces (Jakarta Server Faces)
Jakarta Faces, ранее известная как Jakarta Server Faces и JavaServer Faces (JSF) — это спецификация Java для создания компоненто-ориентированных пользовательских интерфейсов для web-приложений. Родился фреймворк в 2001 году.
Поддержка фреймворка в GigaIDE PRO реализована через одноимённый плагин Jakarta Faces (JSF), который реализует следующие функции:
поддержка файлов JSF-фреймворка формата .xhtml;
навигация от указанных в файле пространств имен к соответствующим taglib-файлам;
подсказки, навигация, а также документация при работе с тегами и атрибутами XHTML;
подсветка языка выражений (Jakarta Expression Language) в атрибутах;
навигация из языка выражений по функциям JSF;
навигация к Java-бинам в проекте, а также упрощённая навигация по цепочкам вызовов методов и полей от этих бинов.

Видеообзор функциональности плагина Jakarta Faces (JSF):
У плагина Jakarta Faces (JSF) есть зависимость на плагин Jakarta Expression Language.
Поддержка AspectJ
В отличие от предыдущих фреймворков, AspectJ ещё сохраняет свою популярность, поскольку не накладывает серьёзных ограничений на архитектуру конечного приложения. Версия 1.0 тоже вышла в 2001 году, за три года до релиза Spring версии 1.0.
Поддержка фреймворка в GigaIDE PRO обеспечивается одноимённым плагином AspectJ, который содержит:
набор инспекций для контроля соответствия использования аннотаций спецификации AspectJ;
набор инструментов для навигации между точками декларирования и точками потребления аспектов;
поддержку синтаксиса AspectJ.
Видеообзор функциональности плагина AspectJ:
Как развивается функциональность GigaIDE, включая работу с базами данных, можно узнать из наших ежемесячных обзоров. Обзор за март доступен по этой ссылке.
Если у вас есть вопросы или предложения по функциональности, пишите в поддержку: https://gitverse.ru/support
Автор: Андрей Слекеничс, PO GigaIDE.
