2

Недавно я собирался начать проект любимого с другом-другом. Мы пошли на дебаты о том, как создать сайт, позволить ли серверу заботиться о шаблоне и манипулировании данными или использовать некоторые Библиотека пользовательского интерфейса JavaScript, например пользовательский интерфейс ExtJS/Jquery, для динамического отображения виджета и использования сервера в качестве службы, которая позволяет передавать данные.Javascript Templating vs Server Templating

Что лучше? JavaScript для обработки пользовательского интерфейса/событий и всего интерфейса с бэкэнд только в качестве служб данных или обычного MVC с использованием бэкэнд-фреймворков (желательно рубинов)?

И каковы правильные/(простые в использовании) рамки для использования в двух сценариях. Кроме того, в случае использования прецедента предпочтительнее другого.

ответ

3

Ничего не лучше. У каждого есть свои собственные цели.

Для интерфейса базового сайта вы всегда должны иметь сервер, создающий начальную структуру сайта. Это, следовательно, требует шаблонов на стороне сервера. Это также относится к тем, «если JS отключен» или «JS не поддерживается». Появляется хотя бы базовая форма сайта. Не будьте как Facebook раньше, когда выключение JS оставляет вас с пустой страницей, потому что она слишком полагалась на JS.

Для виджетов динамические задачи и операции, которые извлекают данные через AJAX, должны быть выполнены на клиентской стороне. AJAX - это все о асинхронности и скорости, и отмена форматированной разметки с сервера слишком громоздка. Здесь вы используете JSON, где вы кешируете строки шаблонов и используете шаблоны на стороне клиента.

0

Одной из идей может быть использование Mustache, которое может отображаться как на стороне сервера, так и на стороне клиента. Смотрите эту запись в блоге о том, как разделить их между двумя:

http://blog.railsware.com/2012/04/12/shared-mustache-templates-for-rails-3/

+0

Также есть Пуаро: https://github.com/olivernn/poirot, возникает вопрос обсуждения Усы/Rails здесь: HTTP : //stackoverflow.com/questions/7045656/mustache-render-on-the-server-rails-and-on-the-client-javascript –