#python #шаблоны #javascript #html
У почти у всех социальных гигантов переход на другую страницу происходит без перезагрузки. Для этого они делают запрос, в ответ на который приходит шаблон страницы и данные. Однако когда только пользователь открывает страницу они возвращают уже собранную страницу из шаблона, при этом возвращая так же ее шаблон и данные. Неужели они дублируют код страницы отдаваемой сервером и шаблоны которые отдаются javascript'у? Или есть какой то шаблонизатор способный генерировать шаблоны как для javascript'а так и для серверной части? Если кто знает такие библиотеки для python поделитесь.
Ответы
Ответ 1
Вопрос это довольно таки обширный. Конечно, дублировать код страницы неэффективно с точки зрения затрат на поддержку проекта. В общем случае, всегда стараются избежать любого дублирования кода и контента. В простейшем случае обновлять всю страницу нет необходимости вообще. У сервера запрашивается лишь "сырая" информация в виде JSON / XML и на текущей странице заменяются соответствующие значения атрибутов или содержимого тегов. В случае, когда нужно заменять большую часть контента (переход на другую страницу без перезагрузки, например), стараются повторно использовать шаблоны. Шаблоны либо запрашиваются однократно при первом использовании, либо уже внедрены в JavaScript и загружены вместе со страницей. Могу предложить вам посмотреть на шаблонизатор mustache. Он имеет реализации для большинства используемых языков, включая Python, JavaScript и CoffeeScript. Для более глубокого изучения темы предлагаю для начала вот это – Интерактивные сайты. В частности, вот это – Повторное использование шаблонов.Ответ 2
Есть некоторые фреймворки/библиотеки для создания универсальных (isomorphic) приложений, где "рендерить" может и клиент и сервер. Например, Redux. Гуглить в сторону "Изоморфное Приложение с React и Redux"
Комментариев нет:
Отправить комментарий