[recovery mode] Шаблоны веб-приложений
На днях была поднята интересная тема — о шаблонах веб-приложений. Давайте еще немного поговорим об этом.Уважаемые коллеги, разрешите задать вам исключительно профессиональный вопрос…
Традиционно принято хранить фрагменты шаблонов веб-приложений в отдельных файлах. Поэтому техпроцессы работы с шаблонами выглядят так.
Первое создание шаблона 1. Подготовка и согласование дизайна2. Верстка одного или нескольких демонстрационных HTML-файлов3. Приемка4. «Нарезка» — выделение многочисленных фрагментов и размещение их по множеству небольших файлов5. Интеграция с CMS — где-то (хотя бы на бумаге или в голове верстальщика) хранится информация, где что, откуда, и в какой версии каждый конкретно этот шаблон в этом отображении.Апдейт 1. Подготовка, верстка, приемка2. Нарезка. Всего или только какой-то выбранной части?3. Замена. Мат.Использование шаблонов CMSкой 1. Скрипт в процессе выполнения читает десяток файлов. Если нет кеширования в ОЗУ (в переменной) — тогда читает их десятки или сотни раз.2. Содержимое подвергается разбору через регулярные выражения, строковые функции, export () и т. д. 3. Результат подвергается конкатенации и возвращается браузеру.Результат — скушано памяти по 1 кб на обработку каждого файла. Если алгоритм не предусматривает кеширования содержимого шаблонов в ОЗУ — при больших выборках заметно нагружается и ФС. Давайте просто обсудим альтернативный вариант: хранить все шаблоны в одном, непорезанном файле, поместив внутрь теги для парсера.Тогда процессы изменятся так.
Первое создание шаблона 1. Подготовка и согласование дизайна2. Верстка одного или нескольких демонстрационных HTML-файлов3. Приемка4. Тут уже ничего не надо делать5. Тут уже ничего не надо делатьАпдейт 1. Подготовка, верстка, приемка2. Нарезка. Всего или только какой-то выбранной части?3. Заменить один файликИспользование шаблонов CMSкой 1. Скрипт в читает один файл. Шаблон в строке разбирается на фрагменты и лежит в ОЗУ.2. Содержимое подвергается разбору через регулярные выражения, строковые функции, export () и т. д. 3. Результат подвергается конкатенации и возвращается браузеру.В среднем шаблоны весят 3–5КБ. Разобрать его по тегам — не дороже, чем список данных с тегами отрендерить.
И главное:
Нет необходимости нарезать шаблоны на фрагменты Удобнее показывать — все на одной странице. Если хочется — можно сделать и на нескольких То, что согласовано — попадает в продакшн «как есть» В ФС лежит цельный шаблон, после разбора в ОЗУ — фрагменты. Коллеги, что вы думаете об этом? Может быть где-то уже видели такое решение? Какие есть или могут быть плюсы и минусы?
Спасибо!