Какие есть практики интеграции статического сайта и динамического веб-приложения?

Здравствуйте. Во время изучения веба пришел к выводу, что для веб приложения необходима "обертка" в виде различной +-статики: домашняя страничка, "о компании", лэндинг страницы, страницы с прайсом на продукт, FAQ и прочие, где не требуется быстрое изменение контента. В крайнем случае к статике можно подключить отдельные динамические компоненты (например, подготовленные Vue компоненты и т.п.).
Я прихожу к выводу, что для таких объемов контента нет смысла писать свой костыль-CMS в приложении. Вместо этого я заинтересовался применением популярных CMS или генерируемых сайтов (когда сайт пишется на локальной машине, а затем "компилируется" в статику). Возникли несколько вопросов:
  • Какие вообще решения и продукты для этого используют?
  • Как конфигурируется веб-сервер в таких случаях? По умолчанию отдает данные из статики, а начиная с какого-то пути - (/app, например) - общается с приложением? Приложение на субдомене app.site.com?
  • Как называется такая разработка вообще? Проще говоря, что мне забить в гугл, чтобы наткнуться на статьи с примерами таких интеграций?
  • Если я что-то делаю не так, то что?
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 4
Robur
@Robur
Знаю больше чем это необходимо
разделяете в голове одно от другого отдельно статика (html/js/ картинки, вот это все что лежит просто в файлах в том же виде в котором их получит клиент), отдельно HTTP api.
Дальше ответы на большинство ваших вопросов приходят сами. в целом - как угодно, в зависимости от ваших условий, желаний и предпочтений.

Можно статику отдавать по одному имени, а апи по другому. app.mydomain.com и api.mydomain.com
или и то и другое по одному имени, но для апи будет отдельный путь /api например или и для апи и для статики будут разные пути mydomain.com/app и mydomain.com/api
или на разные порты
Можно разделение сделать на nginx/apache. А можно на уровне вашего бекенда.
А можно статику вообще положить в облако и пусть они там думают про все. А бекенд положить в какие-нибудь контейнеры. Или вообще на serverless технологиях и вообще не знать где этот ваш код запускается и как к нему запросы идут, достаточно знать только урл.

А можно еще много чего придумать, насколько фантазии хватит. Можно и смешать как вы говорите- все пути работают на статику но один специальный путь обрабатывается бекендом.

Но самый обычный способ - статика на один урл, апишка на другой.
Ответ написан
OnYourLips
@OnYourLips
Какие вообще решения и продукты для этого используют?
Отдельно фронтенд, отдельно бекенд. Разными приложениями в рамках одной системы.

Такой подход является мейнстримом уже лет шесть.
Ответ написан
Вбей в гугл «flat file CMS».
Такие CMS генерируют статические страницы, есть админка для управления контентом. Для простеньких проектов, как ты описал, пойдут.
Ответ написан
lukoie
@lukoie
Есть ЦМСки, которые могут и динамику, и там же позволяют делать статические страницы. Например так можно в ОктябрьЦМС.
Та даже в банальном Вордпрессе есть возможность так сделать.
Если надо ручками, просто разделяете по путям. Либо по субдомену(хуже для сео, удобней в администрировании) либо по субдиректории(лучше для сео).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы