В настоящее время существует несколько подходов к созданию веб-приложений:
1. Только на стороне сервера
Это классический подход, при котором вы отображаете страницы на сервере с помощью веб-фреймворка, такого как Ruby on Rails, Django, Express, Play! Рамки и т. Д.
Типичный рабочий процесс . Создайте всю свою бизнес-логику, модели и шаблоны представления на сервере в рамках вашего выбора.
2. Клиентский + REST API
Относительно недавно веб-сообщество в целом начало создавать клиентские приложения в Angular, Backbone, Ember и нескольких десятках других сред JavaScript MV *. И теперь у нас есть React.js, вступающий в партию.
ОБНОВЛЕНИЕ : Там нет недоразумений. То, что я имел в виду только на стороне клиента, это полное разделение интересов. У вас есть сервер REST API и клиентское приложение, которое взаимодействует с этим сервером. В зависимости от вашего варианта использования, скорее всего, у вас никогда не будет истинного клиентского приложения, которое не подключается к серверной части ни для аутентификации, ни для сохранения данных.
Типичный рабочий процесс : потратьте часы, выбирая Angular против Backbone против Ember против X. Затем вы строите свои маршруты, модели, представления, контроллеры на клиенте. После того, как вы закончите, теперь собирайте модели, контроллеры, маршруты на сервере. Таким образом, вы выполняете двойную работу.
3. Гибрид
Я не очень разбираюсь в использовании этого подхода, но если бы у меня возникло предположение, вы представляете свои представления (представление инфраструктуры MVC) на сервере. В результате вы получаете поддержку SEO и более быструю загрузку страниц.
На Гибридная фронте есть AirBnB в rendr , что якобы объединяет позвоночник и выразить вместе.
Эрик Флоренсо написал сегодня в своем блоге: React: Наконец, отличный веб-стек для сервера / клиента .
Количество способов создания веб-приложений просто огромно. И для тех, кто изучает веб-разработку, это может стать проблемой. Как решить, какой подход использовать для создания следующего приложения?