eruditecat
@eruditecat
Красноглазик

Стоит ли использовать EJS на сервере средствами PHP?

Речь идёт о REST-подобной MVC архитектуре веб-ресурса, в качестве шаблонизатора в которой выступает EJS. Проще показать пример, чем объяснять детали:

В ответ на запрос http://example.com/categories или, например, http://example.com/posts/100500 сервер отправит клиенту text/html, а в ответ на http://example.com/categories.json и http://example.com/posts/100500.jsonapplication/json. Соответственно, в первом случае обработка шаблона происходит на сервере, а во втором — прямо на клиенте. Допустим, все внутренние ссылки мы снабжаем событием onclick, а единожды написанная callback-функция выполняет AJAX-запрос и обновляет DOM, используя наш шаблонизатор и тот же самый файл шаблона в браузере клиента.

Если мы пишем на node.js, это был бы глупый вопрос, но мы пишем на PHP, и целесообразно ли использовать PHP-реализацию V8 для создания данной архитектуры — вопрос резонный.

Вот мои соображения на этот счёт:
  1. Плюсы:
    1. Повторное использование кода. Шаблон пишется один раз.
    2. Более простая поддержка и расширяемость. Вытекает из предыдущего.
    3. Один контроллер/экшн на одну сущность — по условию либо рендерит шаблон, либо отдаёт json клиенту.
    4. Шаблон обрабатывается на сервере только при начальной загрузке страницы. В дальнейшем клиент получает только данные. Имеет смысл для веб-приложений — снижается трафик и нагрузка на сервер.
  2. Минусы:
    1. Есть сомнения в целесообразности использования ещё одного интерпретатора поверх второго.
    2. Бессмысленно для одностраничных неинтерактивных ресурсов типа лэндингов.

Мне нравится эта идея, но она выглядит как авантюра. Уповаю на ваш опыт, отцы. Ваши мнения, пожалуйста.
  • Вопрос задан
  • 525 просмотров
Пригласить эксперта
Ответы на вопрос 1
А какой смысл обрабатывать шаблон на клиенте и на сервере, если можно обрабатывать его только на клиенте или только на сервере?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы