Веб-фреймворки в сочетании с одностраничными приложениями

Мой опыт работы с веб-приложениями состоит исключительно из интерфейсных фреймворков/библиотек одностраничных приложений (knockout/angular/react). Я еще ничего не выпускал и не разрабатывал серверную часть — я использовал фиктивные данные во внешнем интерфейсе и, по сути, издевался над существованием серверной части.

При разработке одностраничных приложений с фреймворками/библиотеками (например, Angular/React), поскольку вы можете эффективно обеспечить оптимальное взаимодействие с пользователем с заботой о маршрутизации, все на переднем конце (что означает, что серверная часть будет выполнять меньше задач), есть ли какая-либо польза от использования веб-фреймворка вместо простой разработки API-интерфейса веб-сервиса на родном языке, который не улучшен веб-фреймворком?

В моем случае я использую React для внешнего интерфейса и буду использовать Elixir для серверной части, и если бы я использовал веб-фреймворк для серверной части, это был бы Phoenix (хотя конкретные используемые технологии не важны для этого вопроса, так как определенные технологии можно заменить).

Я чувствую, что все, что мой бэкэнд будет делать, это извлекать данные из базы данных и вставлять их в базу данных. Возможно, наивный взгляд из-за того, что не было сделано никакого бэкэнда.


person BeniaminoBaggins    schedule 27.01.2017    source источник


Ответы (1)


На самом деле вам не нужна полнофункциональная веб-инфраструктура (т. е. обработка шаблонов или компонентная структура). Но все же есть некоторые вещи, которые вы должны учитывать:

  • Управление транзакциями при записи в БД
  • Ведение журнала, агрегация журналов, архивирование и т. д.
  • Обслуживание статических файлов, а именно вашего внешнего интерфейса
  • Удобное обслуживание вызовов HTTP REST
  • Кэширование (если есть)
  • Связывание этих вещей вместе
  • Масштабирование/кластеризация
  • Аутентификация/обработка сеанса
  • Проверка данных
  • Обработка ошибок

Фреймворки обычно позволяют вам легко решать эти проблемы и позволяют вам сосредоточиться на ваших бизнес-требованиях.

person Piotr Gwiazda    schedule 27.01.2017