Должен ли я рендеринга HTML на стороне сервера или на стороне клиента? - PullRequest
12 голосов
/ 12 октября 2011

Я смотрю на Backbone JS и немного запутался. Я привык компилировать мою страницу html на стороне сервера (, используя JADE ), а затем взаимодействовать с этими элементами, используя jQuery на стороне клиента. Многие базовые примеры предлагают начинать с пустого HTML-тела и отображать содержимое на стороне клиента.

Это кажется мне действительно странным!

Вопросы:

  1. Нужно ли использовать шаблоны на стороне клиента?

  2. Можно ли использовать BackboneJS для управления предварительно написанным скомпилированным HTML на стороне сервера?

1 Ответ

16 голосов
/ 12 октября 2011

Типичный способ использования Backbone - это делать что-то на стороне клиента. Вы используете рендеринг шаблонов на стороне клиента, чтобы связать значения модели с шаблонами малого представления. Это подход к превращению HTML / JS в платформу разработки приложений с реальной моделью компонентов.

НО, это не значит, что вы не можете или не должны смешивать свои миры.

Например, я использую Backbone с Rails. Мое представление Rails отображает HTML на стороне сервера, который включает в себя логику / представления Backbone. Затем весь мой рендеринг представлений в стиле AJAX происходит с использованием Backbone с моделями, представлениями и шаблонами, а модели взаимодействуют со службами JSON, которые находятся в бэкэнде Rails. Пользователь не видит загрузку страницы, пока ему не нужно покинуть страницу, чтобы сделать что-то еще. Опыт довольно хороший.

Вы, конечно, можете взять этот пример и отобразить ваши шаблоны на стороне сервера. Я бы не пошел так далеко, чтобы визуализировать каждый экземпляр серверной стороны шаблона, потому что шаблоны (включая встроенную в Backbone / Underscore) настолько мощные. Но если вы захотите заполнить свои шаблоны рендерингом на стороне сервера, я мог бы понять, как это может быть полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...