Как реализовывается SPA приложение? Какой бэк выбрать между PHP и Java?
Ниже вопросов немного описания для чего мне это.
Имеем:
Сервер отдает входную страничку (например spa-face.com). Она формируется на сервере и отдается клиенту, а далее работает ajax с подгрузкой данных (например в json-формате).
1. И тут возникает первый вопрос - прорисовка UI по этим данным производится на стороне. Каким образом это реализуется? В получаемых данных кроме самих данных еще хранится информация о прорисовке компонентов для отображения?
2. Если пользователь изначально забивает не корень сайта, а например spa-face.com/posts, то какие операции проделывает сервер и какие клиент? (сервер сразу должен отдать данные для прорисовки конкретной страницы, или он отдает входную, а затем каким-то образом посылается еще запрос на получение posts?
Важный момент - спрашиваю т.к. нужно реализовать web app. MPA не вариант, т.к. данные будут браться с бэка через REST API (не FULL). Бэка два, уже написаны до меня - один на PHP, другой на JAVA. Пользовали его в мобильных приложениях для отслеживания "телодвижений" (контроля). А мне теперь нужно неспеша это все перевести на web с добавлением логики и составления отчетности.
Как бы знаю Java Core, PHP, немного JS, разметку, стили. Это база, поэтому нужно подучить что-то новенькое. А тут какраз можно совместить приятное с полезным.
Начал рыться в просторах паутины и загруз в зоопарке возможных решений. В классическом фронте сейчас мода на React+Redux или Angular. А вот по Java что-то туго найти сторону, в которую желательно смотреть - второй день читаю "битвы" приверженцев разных технологий. В основном это монстрик Spring, GWT, или как бы мертвый JSF. Застрелиться можно )))
В общем, дайте плиз ответы на два вопроса (своими словами, ссылками, только чтобы минимум текста, желательно с примерами).
А также подскажите на чем мне запилить фронт. В принципе картинка не важна, поэтому есть возможность поизвращаться запилив одно направление на одной технологии, другое на другой (сервера то два :-) )
1 естественно что все данные для прорисовки передаются сразу
в случае spa это как правило неизменный каркас, css, и кусочки html в качестве шаблонов в js который и занимается "отрисовкой"
2 тут уж как сам настроишь
проще всего редиректить на главную с указанием в хеше что догрузить
зы мобильное приложение можно сделать из SPA с помощью cordova и минимальной доработки напильником
Мобильные приложения есть. Нужно сделать Web. И выходит, что чистого REST API которое используется мобильными приложениями, недостаточно. Для SPA нужно не просто данные присылать (под данными имею ввиду значения вытянутые с БД), а и каркас. Я правильно понимаю?
Почитал я о Spring WebFlux. Много не понятного (все примеры тупо копируют официальную документацию, которая для новичка в теме Spring непонятна). Но что понял - это реализация реактивного API и она не поддерживается реляционными БД.