Как стать автором
Обновить

CMS на Javascript

Время на прочтение2 мин
Количество просмотров31K
Для затравки — громкое заявление: эта статья способна оставить без работы тех backend-разработчиков, которые еще не познали дао Javascript. Если вы подумали о Node.js, то напрасно. Ни строчки серверного кода. Мы поговорим о CMS, которая работает в любом современном браузере.


Возможно, вы уже сталкивались с генераторами статических сайтов на Ruby или Python. Это удобнее и бюджетнее, чем держать сервер с прожорливым Wordpress для сайта, на котором раз в месяц публикуется новость или прайс-лист.

Впрочем, окружение с Руби и кучкой дополнительных пакетов для Джекила — это удел гиков. Сгенерировать сайт из пары десятков страниц можно и в мобильном браузере. Даже Opera Mini способна собрать строку html-кода и отправить ее на сервер AJAX-запросом. Это на любом телефоне с Java ME. Вот валяется у вас такой мобильник без дела, а на нем можно сайты генерировать.

Внимательный читатель уже возмутился от упоминания какого-то «сервера» в предыдущем абзаце. Все верно, я обещал, что CMS будет работать только в браузере. Чтобы наше JS-приложение могло сохранить сгенерированный сайт, нужен какой-то минимальный backend. В эпоху облачного хранения данных этот выбор очень прост: Amazon S3 или любой провайдер OpenStack Swift. Обе платформы предоставляют REST API и возможность превратить любой контейнер/bucket с файлами в веб-сайт со своим доменом. Надежный такой хостинг, плюс всем можно управлять через AJAX вместо (S)FTP. Слава CORS!

Окей, с серверной частью разобрались. На что способна CMS, которая работает только в браузере?
  1. Быстрая генерация html по шаблону. Шаблонизаторов, как всегда, куча. Поддержка web workers последним поколением браузеров позволяет генерировать действительно большие сайты в фоне.
  2. Естественно, визуальное редактирование в WYSIWYG-редакторе и правка исходников с подсветкой кода — Ace или CodeMirror.
  3. Загрузка файлов и редактирование изображений с помощью canvas или любых облачных сервисов.
  4. Версионность и любые мета-данные для документов. Хранилище S3/Swift и localStorage в браузере дают гарантию, что наш ценный контент никуда не потеряется.
  5. Все, что угодно. Многообразие облачных сервисов с HTTP API (например, для отправки и получения email) и более сумасшедшие вещи вселяют энтузиазм относительно будущего таких JS-приложений.


Конечно, самое вкусное здесь — цена за хостинг статичного сайта. У российских облачных провайдеров 100Мб файлов и 3Гб трафика стоят меньше 3 (трех!) рублей в месяц. При этом не нужно жертвовать удобством традиционных CMS и тратиться на простаивающие ресурсы сервера. Ведь у нас его вообще нет.

Если затронутая тема вызовет интерес, то в следующей статье расскажу о моей реализации такой системы управления сайтом. Всем чаю!
Теги:
Хабы:
Всего голосов 81: ↑29 и ↓52-23
Комментарии54

Публикации

Истории

Работа

Ближайшие события