Левитация - Не Стоит Ли Отделить Сайт От Движка?

200 лет назад начались разборки с двигателем автомобиля.

На создание двигателя внутреннего сгорания ушло 80 лет. Результатом разборок стало появление сразу двух отраслей – автомобилестроения и двигателестроения.

20 лет назад создание сайтов появилось в виде фреймворков.

Также начались разборки с двигателем.

Не с сайтом, с ним всё было понятно, а с движком.

И теперь, похоже, мы во всем разобрались.

И с движком, и с сайтом.

Сегодня фреймворки достигли естественной вехи: отделения сайта от движка.

Есть и достижение - первый российский (и мировой?) фреймворк.

Левитация с новой архитектурой.



Основная проблема нынешних фреймворков

Современные фреймворки ориентированы на движок.

Сайт для них менее значим, потому что с ним все более-менее понятно: html, css, js + шаблонизатор.

А вот с двигателем не все было ясно, и основные усилия были направлены именно на двигатель.

Причём на движке, который, естественно, управляет только одним сайтом.

В результате все популярные сейчас фреймворки являются моносайтами, то есть их движок управляет одним сайтом.

В их корневом каталоге всегда есть index.php — это стартовая страница их единственного сайта.

Более того, многие компоненты сайта — конфиги, шаблоны, коды оказываются там же, где и компоненты движка.

Результат такого сверхвнимания к движку - полное растворение сайта в движке! Чтобы сделать бэкап, нужно бэкапить все - не только сайт, но и движок! Чтобы сделать сайт для разработчиков, вам нужно все скопировать! Но это все — на сайт 0,5-1 Мб приходится еще и 50-100 Мб движка.

У двигателя в сто раз больше полезной нагрузки! Проблема с резервным копированием сайта решилась легко — специальный класс или утилита для резервного копирования конкретно сайта.

Но проблема «многосайтовости», возникшая в полную силу около 10 лет назад, оказалась, вообще говоря, неразрешимой.

Неразрешима в связи с тем, что единственный сайт полностью растворился в движке, и чтобы его вытащить, пришлось все переписывать! Однако переписывать всё — это уже не новая версия, а новый фреймворк.

Компромисс был найден в версии ограниченного мультисайта, когда все мультисайты могли располагаться только внутри какой-то специальной директории в движке.

При этом основной сайт, естественно, остался в корне фреймворка — без него невозможно.

Ну и вот вишенка: топовые знакомые мне фреймворки (WP, Laravel, Symphony, Drupal, Yii2) вообще не имеют объекта (класса) Site! Как вам это нравится?

Левитационный каркас – сайт отделен от движка

Около 5 лет назад появился фреймворк Grav. Он не входит в топ-20 или, может быть, даже в топ-50, но он довольно продвинут. Класса Site в нем тоже нет, но шаг в правильном направлении есть — конфиги движка и сайта разделены.

Остался последний шаг — разделить коды движка и сайта.

Небольшая команда энтузиастов решила радикально перепроектировать Grav — переписать его с целью полностью отделить сайт от движка.

Это была непростая поездка, но результаты были впечатляющими:

  • сайт отдельно, движок отдельно,
  • любой сайт может получить доступ к любому движку,
  • отрегулировать нагрузку на двигатель – без проблем,
  • сайты и движки для разработчиков – сколько угодно,
  • резервное копирование сайтов и движков - просто скопируйте/архивируйте,
  • разграничивать
Теги: #Разработка сайтов #php #CMS #сайт #движок
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.