У тех, кто впервые столкнулся с 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).

Скриншот GigaIDE с разметкой JSP
Скриншот GigaIDE с разметкой JSP

Видеообзор функциональности плагина 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-файлов.

Скриншот GigaIDE c кодом и инструментами для работы с Freemarker
Скриншот GigaIDE c кодом и инструментами для работы с Freemarker

Видеообзор функциональности плагина 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-бинам в проекте, а также упрощённая навигация по цепочкам вызовов методов и полей от этих бинов.

Скриншот GigaIDE c кодом и инструментами для работы с Jakarta Faces (JSF)
Скриншот GigaIDE c кодом и инструментами для работы с Jakarta Faces (JSF)

Видеообзор функциональности плагина 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.