Будущее World Wide Web
Одна страница
Распечатать
На мой взгляд, в будущем произойдет возврат к тому, с чего Web начинался — к статичным HTML-файлам, но в несколько измененном виде.
В частности, статичные файлы будут генерироваться админкой CMS и будут дублировать информацию, хранящуюся в базе (чтобы при необходимости их можно было быстро перегенерировать). При этом в файл будет сохраняться ключевая статическая часть контента, например, сообщение блога или карточка товара Интернет-магазина, а второстепенные динамические элементы (например, число сообщений по категориям, комментарии или отзывы, содержимое корзины) будут догружаться на страницу потом через AJAX. Это дает следующие преимущества:
1) скорость: главный контент очень быстро показывается пользователю, а пока тот начинает его просматривать, догружаются второстепенные элементы
2) модульность: динамическую часть сайта можно будет собирать блоков, причем серверная часть каждого из них (если таковая есть) не будет зависеть от остальных. Добавление нового компонента по сути дела, будет сводиться к его копированию на сервер и добавлению активного блока (о них дальше) в HTML.
3) масштабируемость: обработчики AJAX-запросов для блоков, при необходимости, можно будет разносить на разные сервера (по сути дела, получаем набор микросервисов).
Технически это можно реализовать так: в статической странице прописана асинхронная загрузка мастер-скрипта, который проверяет элементы HTML на наличие специального класса, который указывает на то, что это активный блок. Далее для всех этих блоков просматриваются data-параметры и в зависимости от того, что там указано, либо делается AJAX-запрос и в блок вставляется полученное с сервера содержимое, либо подгружается и выполняется JavaScript, отвечающий за работу блока. Т.е. получаем что-то вроде этого:
<div class="active_block" data-src="ajax.php?a=categories"></div>
<div class="active_block" data-script="/js/fancybox.js" data-params="{ 'delay': 5000}">здесь идут изображения</div>
То есть, по сути, получаем несколько модифицированный и более универсальный вариант загрузки скрипта по имени класса.
В частности, статичные файлы будут генерироваться админкой CMS и будут дублировать информацию, хранящуюся в базе (чтобы при необходимости их можно было быстро перегенерировать). При этом в файл будет сохраняться ключевая статическая часть контента, например, сообщение блога или карточка товара Интернет-магазина, а второстепенные динамические элементы (например, число сообщений по категориям, комментарии или отзывы, содержимое корзины) будут догружаться на страницу потом через AJAX. Это дает следующие преимущества:
1) скорость: главный контент очень быстро показывается пользователю, а пока тот начинает его просматривать, догружаются второстепенные элементы
2) модульность: динамическую часть сайта можно будет собирать блоков, причем серверная часть каждого из них (если таковая есть) не будет зависеть от остальных. Добавление нового компонента по сути дела, будет сводиться к его копированию на сервер и добавлению активного блока (о них дальше) в HTML.
3) масштабируемость: обработчики AJAX-запросов для блоков, при необходимости, можно будет разносить на разные сервера (по сути дела, получаем набор микросервисов).
Технически это можно реализовать так: в статической странице прописана асинхронная загрузка мастер-скрипта, который проверяет элементы HTML на наличие специального класса, который указывает на то, что это активный блок. Далее для всех этих блоков просматриваются data-параметры и в зависимости от того, что там указано, либо делается AJAX-запрос и в блок вставляется полученное с сервера содержимое, либо подгружается и выполняется JavaScript, отвечающий за работу блока. Т.е. получаем что-то вроде этого:
<div class="active_block" data-src="ajax.php?a=categories"></div>
<div class="active_block" data-script="/js/fancybox.js" data-params="{ 'delay': 5000}">здесь идут изображения</div>
То есть, по сути, получаем несколько модифицированный и более универсальный вариант загрузки скрипта по имени класса.
Ребята, давайте жить спокойно!
Как выяснилось, уже есть реальные шаги в этом направлении, так называемые генераторы статических сайтов: Hexo, Hugo, Jackyll и многие другие. Работают они следующим образом: контент пишется в обычных файлах с помощью markdown-разметки, раскладывается по каталогам. В отдельный каталог кладется шаблон, после чего из командной строки запускается генератор, который формирует HTML-сайт (и может сразу же загрузить его на сервер по SSH, если указать соответствующие параметры командной строки). А комментарии делаются через AJAX — либо через сервисы наподобие Disquis, либо с помощью скриптов, сохраняющих комментарии на локальном сервере.
Более того, видел также англоязычный сервис, предоставляющие сходные функции для корзины Интернет-магазина. То есть можно сделать Интернет магазин на статике, а всю обработку заказа — через этот сервис.
Более того, видел также англоязычный сервис, предоставляющие сходные функции для корзины Интернет-магазина. То есть можно сделать Интернет магазин на статике, а всю обработку заказа — через этот сервис.
Ребята, давайте жить спокойно!
. Редактировалось 2 раза, последний — #3
Нашёл сайт, на котором собрана информация обо всех известных генераторах статических сайтов с открытым кодом: https://jamstack.org/generators/.
Репозиторий проекта на GitHub: https://github.com/jamstack/jamstack.org/
Репозиторий проекта на GitHub: https://github.com/jamstack/jamstack.org/
Впрочем, у таких систем есть и минус: проблема с синхронизацией, если писать тексты с нескольких устройств. Впрочем, если речь идет о компьютерах, это это можно решить либо через приватный git-репозиторий, либо держать файлы с текстами на сервере и подключать по sshfs для локального редактирования. А вот с мобильных устройств — увы…
Ребята, давайте жить спокойно!
Разве что использовать какой-нибудь мобильный SFTP-клиент.
Одна страница
Распечатать У вас нет прав для отправки сообщений в эту тему.