Как делается фронтенд для Java-приложений?

277
14 апреля 2022, 22:00

Я столкнулся с тем, что не понимаю, как обычно реализуется фронт для Java-приложения. У меня есть несколько предположений о том, как это может быть:

  1. Фронт делается при помощи JSP, thymeleaf или других Java-фреймворков для фронтенда, т.е. всё делается исключительно на мощностях Java.
  2. На Java-сервере делается только бэкенд, который отдаёт данные для отрисовки, но не отрисовывает их сам (т.е. бэкенд на Java, а фронт делается отдельно в другом, более подходящем для этого приложении).

Я понимаю, что можно сделать и так и так. Но интересует то, как это делается обычно, в том числе для крупных проектов.

Answer 1

Начнем с того что знание java для фронта не совсем то что нужно. Если у вас верстка унылая и табличная то сообственно вам фреймворк мало чем помогут, максимально вы получите жалкое подобие ui на ваш бек.

Для фронта вам нужно изучить html css JavaScript это программа минимум. По максимуму вы поднимите react/angular/vue фронт приложение с java http сервером на бекенде (не важно какой) который будет обрабатывать ваши запросы с ui. Вот почему вам говорят что jsp устарела.

Updated.

Ваш первый вариант он устарел. Не стану говорить что его нет говорю лишь о том что устарел. Почему устарел, потому что современные фронтенд фреймворки дают большую гибкость независимость скорость разработки. В нынешних реалиях java,c# ушли на бек что не есть плохо. В микросервисной архитектуре это ещё лучше. Вы можете реализовать поставщика на чём угодно и делать ui также для чего угодно не привязываясь к платформе языку и прочему, достаточно лишь поддерживать стандартные протоколы общения. Вот почему делать монолит из java,c# это вчерашний день. И вообще на сегодняшний день все строят свои крупные проекты разбив на десятки и более мелких частей каждую из которых можно безболезненно быстро заменить с поддержкой протоколов. Rest/swagger/openapi и остальные паттерны.

READ ALSO
gradle to maven

gradle to maven

Есть какой-нибудь конвертор gradle файла в maven?

163
Как прервать нужный поток в Java?

Как прервать нужный поток в Java?

Разбираюсь с потоками, написал такой код:

192
Как рисовать на JLabel?

Как рисовать на JLabel?

Создаю программу гитарных аккордов в SwingВ программе реализовал картинку "гитарный гриф" на JLabel следующим образом:

359
Java. Реализация очереди

Java. Реализация очереди

У меня есть код ( не мой ), в котором реализована очередь, с методом добавления и удаления элементовЯ не могу понять, зачем инициализировать...

222