Подтвердить что ты не робот

Должен ли я обрабатывать html на стороне сервера или на стороне клиента?

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

Мне это кажется странным!

Вопросы:

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

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

4b9b3361

Ответ 1

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

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

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

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