Генерация скриптов
В подавляющем большинстве случаев скрипты применяются в SQL-обработке данных, веб-приложениях, везде где нужно быстрое и гибкое внесение изменений. Существуют довольно большие скриптовые системы (например, веб-системы) с большими объёмами исполняемого кода.
Что представляет из себя исходный код скриптовых приложений?
Как правило, это исполняемый, непосредственно работающий код, в который и вносятся изменения.
Существует более гибкий способ разработки - генерация исполняемых скриптов и прочих текстовых файлов.
Генерация проводится из множества текстовых исходников, используя препроцессор (макросы, мета-данные, правила сборки).
Изменения вносятся только в исходники и мета-данные, задаются правила сборки/генерации.
Исходники могут иметь уровни вложенности и собираться друг в друга как «матрёшка».
Собранное веб-приложение (или набор приложений) может быть каким угодно и иметь любую архитектуру.
Преимущества генерации перед непосредственной правкой исполняемого кода:
- быстрая пересборка нового приложения или его версии/клона;
- макро-замены и макро-подстановки на этапе сборки/генерации (препроцессор), inline - вставки;
- множество разнообразных копий и версий исходных элементов (блоков, текстов, кода), собранных в одном месте;
- более гибкая архитектура приложения и добавление произвольных возможностей.
Не ставя под сомнение возможности разных инструментов разработки, хотелось-бы обратить внимание на то, что любой исходный код (или его часть) можно успешно генерировать, генератор здесь выступает в качестве дополнительного инструмента и может существенно упростить и ускорить разработку. Для простых веб-приложений генератор может полностью заменить любое IDE веб-разработчика (разве что кроме notepad++).
Различные генераторы применяются автором давно и успешно. Например, CRM-система, которая тиражируется среди региональных представителей в виде генератора и набора исходников. После персональных настроек, веб-приложение и документация генерируются в нужном месте домена представителя.
Генерация PHP-скриптов, JS-скриптов, HTML и CSS - файлов
Для демонстрации идеи сборки проектов через генерацию файлов, автор сделал простой веб-генератор.
Генерировать можно любые текстовые файлы - php, html, css, js и другие.
Генератор файлов и скриптов для веб позволяет быстро пересобрать любое веб-приложение и использовать в его разработке следующие возможности:
- любой относительный адрес генерируемого веб-приложения (или набора текстовых файлов);
- любой настраиваемый URL админки «движка» и корня генерируемого сайта или раздела;
- любое количество независимых копий движка для сайтов и/или разделов в любых директориях;
- набор настроек в конфигурационном файле и персональные флажки и поля в визуальной админке;
- возможность создания статичных HTML-страниц (можно сделать HTML-документацию);
- динамические внутренние ссылки, использующие номера (ID) генерируемых веб-страниц;
- контроль ошибок и битых ссылок, генерация sitemap.xml;
- преобразование типов ссылок в исходниках (динамика, статика);
- смена URL сайтов и разделов без правки внутренних ссылок (динамические ссылки преобразуются в обычные во время генерации);
- поля для title, keywords, description (возможен контроль уникальных title);
- различные СЕО-дополнения, различные настраиваемые возможности (опционально);
- inline - вставки, до 19000 исходных файлов, 9 уровней вложенности;
- удобство бекапа и переноса исходников для генерации веб-ресурса - база данных не используется;
- легкая смена хостинга - восстановление из бекапа (импорт исходников) и генерация;
- движок генерации с исходниками можно вообще удалить с сервера;
- минимальные требования к серверу (shared-хостинг, apache, php);
- сгенерированное веб-приложение работает независимо от движка-генератора;
- сгенерированное веб-приложение может работать независимо от уже существующих;
- содействие в организации высоконагруженных web-ресурсов (нагрузка только на канал связи);
- работает параллельно с фреймворками / CMS или без них;
- обрабатывает и хранит только исходники для генерации.
Этот веб-инструмент предназначен для разработчиков, знакомых как минимум с HTML и CSS.
Чтобы понять принцип его работы, достаточно разобраться, как генерируется демо-сайт,
исходники которого доступны через простую быструю админку
Веб-нитерфейс движка - это единственная AJAX-страница, позволяющая одновременно редактировать до 19 исходников. В нижней строке появляются подсказки при наведении мыши на кнопки слева и сверху. Для навигации можно использовать клавиши-стрелки, а так же <Enter> и <Esc> чтобы открывать/закрывать содержимое исходников.