Правильно ли я понимаю взаимодействие бекэнда и фронтэнда в случае REST API приложения?
Предположим есть некоторое приложение, где бекэнд принимает и отдает данные через REST API и соответственно ему нужен фронт. Насколько я понимаю фронтэнд у такого приложжения будет построен как клиент над REST API или же это пууть совершенно неправильный?
"Родной" не обязан. Но вполне себе может. Зависит от требований к фронтенду. Для современных js-фреймворков это более чем приемлемая архитектура взаимодействия с сервером. И если рестовый бэкэнд уже есть, то это возможное решение для фронтенда.
Но не если, кроме вебморды, других клиентов не предполагается, то такая архитектура не всегда может быть оптимальной. Иногда достаточно и более монолитной архитектуры, без клиент-серверного разделения, если речь именно о веб-сайте. Более традиционное решение тогда - любой серверный MVC фреймворк.
Есть ещё третий вариант: рестовое апи есть, было, и будет есть, но вебморда сервиса может быть построена без использованbя оного. Примеры: GitHub, BitBucket, Jira. Redmine (?).
samizdam: > Иногда достаточно и более монолитной архитектуры
Не бывает никакой "монолитной". Любой бэк-енд, взаимодействие с которым осуществляется по HTTP, по сути и есть REST API.
MVC естественно ничего не меняет.
Единственная разница - в этом случае это "API" не продокументировано и иногда даже запрещено для использования сторонними клиентами.
Ну не беда, я такие сайты HTTP-сниффер труба шатал, когда свой бот для они писал))
GDApsy: > Я просто подумал, что, возможно, "родной" фронтэнд веб-приложения должен взаимодействовать с бекэндом не через REST API
Можно сделать 2 API. Как у VK, например.
"Родной" бэкенд у них недокументированный и закрытый, а официальное API - совсем другое API - открытое и документированное, но зато авторизация через OAuth вместо логин/пароля, то есть давать ли клиенту доступ к данным - решает в первую очередь сам VK, а не только пользователь, что дает VK возможность контролировать приложения, которые разработчики пишут на основе этого официального API. Могут и "забанить".
Но, естественно, никто не мешает разработчикам раскопать "родное" "API" сниффером и писать для него боты. Это уже немногие умеют, но кое-кто умеет.