Какой фрэймворк или библиотеку для фронта использовать для Spring MVC приложения

97
13 июля 2021, 23:10

Я пишу многостраничное приложение на Spring MVC (не boot!). Скажите, пожалуйста, какие фрэймворки или библиотеки лучше всего использовать для фронта? Есть ли смысл пытаться соединить spring с react js или пилить по старинке на jQuery? Хотелось бы, конечно, попытаться поработать с reactОМ, но я никак не могу найти однозначного ответа насколько его адекватно использовать в данной ситауции и вообще понятия не имею как создать такого рода проект, в интернете вообще очень бедно по этому поводу

Answer 1

У jQuery и React разные идеи и цели использования. jQuery это скорее набор функций для упрощения работы с JS, в то время как React - это полноценный фреймворк для написания приложений определенной архитектуры.

Что касатется сути вопроса: cуществует два варианта рендеринга содержимого страницы - на сервере или на стороне клиента.

Архитектура Spring MVC заточена именно под рендеринг на стороне сервера - то есть переменные страницы и их значения определяются с помощью так называемого ViewResolver. Наиболее популярными решениями являются JSP и Thymeleaf. Обычно в сочетании с ними для обеспечения простых вспомогательных механик используется именно jQuery или обычный JS.

Библиотеки вроде React или Angular предназначены для разработки комплексных самодостаточных приложений чья логика и функциональность полностью лежит на стороне клиента. Серверные данные нужны только как некий фид по ajax запросам.

Таким образом вам нужно понять - где у вас будет бизнес-логика. Если на клиенте - используйте React, от Springa вам нужны только контроллеры которые возвращают JSON например (соответственно уходим в сторону Spring Boot или если совсем молодцы то используем возможности NodeJs). Если на сервере, то тогда лучше попытаться реализовать всю логику на Java, а там где возникает какая либо нереализуемая на сервере интерактивность - дописывать на JS/jQuery.

Объединять же React и Spring MVC в одном проекте - это равносильно сборке трехколесного велосипеда со штырем вместо седла.

READ ALSO
Как получить данные из Json [дубликат]

Как получить данные из Json [дубликат]

Запрос возвращает вот такой вот ответ

113
Как получить массив до определённого количества?

Как получить массив до определённого количества?

Как от сюда вытащить первые 5 имён? Остальные не нужны

112
Оптимизация SPA приложения

Оптимизация SPA приложения

Всем приветРазработал SPA приложение

91