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 — переписать его с целью полностью отделить сайт от движка.
Это была непростая поездка, но результаты были впечатляющими:
- сайт отдельно, движок отдельно,
- любой сайт может получить доступ к любому движку,
- отрегулировать нагрузку на двигатель – без проблем,
- сайты и движки для разработчиков – сколько угодно,
- резервное копирование сайтов и движков - просто скопируйте/архивируйте,
- разграничивать
-
Компьютерные Процессоры: Работа Цп
19 Oct, 24 -
Каков Человеческий Фактор При Внедрении Erp?
19 Oct, 24 -
Материалы С Azov Developers Meetup 2015
19 Oct, 24 -
Swift Heroes 2018. Как Это Было
19 Oct, 24 -
Изменения В Правилах Tizen App Challenge
19 Oct, 24