Статичні генератори сайтів

Повернення до витоків

Правильно ж кажуть: «Все нове - добре забуте старе». Ось я пам'ятаю, як багато років тому в блокноті створював свій перший index.html і заливав на тоді популярний хостинг GeoCities.com. Пізніше стало ясно, що з статичних сторінок можна зліпити хіба що домашню сторінку, - для чогось більш серйозного потрібні Perl і CGI. Тепер, коли є мільйон способів створювати динамічні сторінки, розробники, навпаки, стали часто прагнути до «статиці», особливо в високонавантажених місцях. Воно й зрозуміло: немає ніяких оверхедів на генерацію контенту (сторінка вже готова), при цьому всі сторінки разом легко кешуються (поміщаються в пам'ять для моментальної віддачі клієнту). Але це історія не тільки про високонавантажені системи, а й про звичайні сайти. Популярний зараз тренд - движки для генерації статичної контенту. З їх допомогою можна створювати досить складні сайти, отримуючи в кінцевому підсумку набір статичних файлів, які можна легко захостити де завгодно: хоч на Amazon S3, хоч навіть на GitHub. Не потрібно возитися з налаштуванням сервера, при цьому сайт виходить бронебійним (спробуй зламати ресурс з статичних файлів).

Як це працює?

Які бувають генератори?

Один з найвідоміших генераторів статичного контенту - це блогерський движок Octopress, який я і спробував в дії. Крім нього, також популярні jekyll. Nesta CMS. Всіх їх об'єднує одне - вони написані на Ruby. Є реалізації на Node.JS (наприклад, Punch. Є і на Python (Hyde). Всі вони використовують один і той же принцип, але відрізняються в деталях: підтримці різних шаблонизатор, використовуваної розмітці вихідних даних і так далі.

Статичні генератори сайтів
Про статичних генераторах контенту багато дізналися завдяки Octopress

Куди розгорнути?

Немає сенсу показувати, як запустити пару команд генератора. У кожного з движків є інструкції, як за п'ять хвилин згенерувати статичний сайт. Цікаво інше - як використовувати переваги того, що ми відмовляємося від динаміки. Де розмістити такий сайт? Найчастіше використовується три варіанти:

Одна з фішок GitHub'а - можливість створювати сторінки (Github Pages) для розробників, які використовують сервіс для зберігання репозиторіїв коду. Якщо вибрати цей безкоштовний варіант, то всі файли сайту будуть зберігатися прямо в Git-репозиторії. Це дуже зручно, оскільки читачі можуть запропонувати свої Pull Request'и і таким чином, наприклад, допомагати виправляти помилки. При цьому сайт ти можеш прив'язати до свого домену.

S3 - це бронебійна сховище для файлів від Amazon. Так як всі файли сайту важать нікчемно мало, а трафіку, швидше за все, буде небагато, на хостинг не буде потрібно багато грошей. Зате його 99,9% -я доступність практично гарантована.

Heroku - ще одна хмарна платформа, розроблена для швидкого розгортання веб-додатків (на Python, Ruby, Scala, Java та інше). У випадку зі статичним сайтом використовувати її можна безкоштовно.

Цікава PaaS-платформа для супершвидко розгортання веб-додатків

Додати динаміки

Покажи цю статтю друзям:

Схожі статті