@vsixer

Стоит ли разделять сайт на backend и frontend?

Добрый день,
Озадачился тут вопросом разделения сайта и интересует мнение других.
Собственно, хотелось бы иметь обособленную серверную часть, доступ к которой будет осуществляться исключительно с помощью API. Доступ необходим для клиентской части, мобильного приложения и нескольких подконтрольных мне сайтов.
Клиентскую часть планирую написать на angularJS. Она будет располагаться на другом домене и осуществлять взаимодействие с серверной частью с помощью AJAX запросов. Тут, конечно, возникает вопрос кросс-доменности, но вопрос решаемый, хотя и не однозначно.
Подскажите, люди знающие, стоит ли вообще заморачиваться и делить сайт или оставить как есть, а для мобильного приложения и других сервисов прикрутить API? Интересует именно обоснование: как это повлияет на производительность, насколько это трудозатратно и т.д.
Спасибо
  • Вопрос задан
  • 2904 просмотра
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Это называется Singe Page Application.

Если вас не смущает геморой с индексацией сайта в поисковике - подход весьма оправдан.

Плюсы:
- ослабление связей внутри системы, упрощается серверная часть (по сути у вас там красивая REST Api должна быть)
- общее увеличение отзывчивости системы (если грамотно спроектировать фронтэнд)
Минусы:
- общее время разработки может увеличиться в зависимости от проекта.
- необходимость добавлять на сервере генерацию page fragments для поддержки поисковиками. Есть конечно варианты использовать на сервере phantomjs для создания этих самых фрагментов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Это значительно экономит ресурсы разработчиков, т.к у Вас исчезает дублирование функционала в коде. Считаю что это единственно правильный путь в ситуации когда фронтендов много.
Ответ написан
GM2mars
@GM2mars
Что-бы сразу заложить правильную архитектуру под ваш проект, почитайте про RESTful.
Для ознакомления anton.shevchuk.name/php/create-restful-api
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы