Введениеlink

Данный документ описывает архитектуру загрузчика SFLoader, включая как фронтенд, так и бэкенд часть.

Вся система разделена на 2 большие области: клиентская (фронтенд) и серверная (бэкенд) логика.

Глава 1: Фронтендlink

  • 1.1 Автоматический поиск плагинов

  • 1.2 Динамическая загрузка JS и CSS

  • 1.3 Управление зависимостями плагинов

  • 1.4 Кэширование и ускорение загрузки

  • 1.5 Прелоадер (индикатор загрузки)

  • 1.6 Серверное взаимодействие

  • 1.7 Поддержка Smart-компонентов

  • 1.8 Очистка и контроль кэша

  • 1.9 Режим standAlone

Глава 2: Бэкендlink

  • 2.1 Loader.php — Главный контроллер загрузки

  • 2.2 LoaderAsset.php — Менеджер ассетов

  • 2.3 AssetManager.php — Генератор и сборщик ассетов

  • 2.4 TemplateLoader.php — Работа с шаблонами Smart-компонентов

  • 2.5 LoaderRequest.php — Адаптер HTTP-запросов

  • 2.6 Constants.php — Глобальные пути и константы

  • 2.7 LoaderFile.php — Поиск и фильтрация файлов

  • 2.8 Composer и автозагрузка

Заключениеlink

SFLoaderlink

Система SFLoader решает комплексную задачу: интеллектуально, быстро и гибко подгружать компоненты, их стили, зависимости и шаблоны как на стороне клиента, так и сервера. Она объединяет:

  • Фронтенд-инициализатор (SFLoaderPlugin);
  • Прелоадер и клиентский кэш;
  • Серверную сборку ассетов;
  • Поддержку Smart-компонентов;
  • Composer-совместимую архитектуру.

Ключевые особенностиlink

  • Автоматический поиск и загрузка компонентов, в том числе через DOM и RegExp;
  • Гибкая работа с зависимостями, включая многоуровневые связи;
  • Гибридный режим с подгрузкой с сервера и кэшированием на клиенте;
  • Smart-компоненты с шаблонами, кешем и сборкой по pageHash;
  • Gzip-оптимизация и хеш-сборка для кэширования на уровне CDN;
  • Temp и cache режимы генерации ассетов;
  • Возможность работы полностью offline в режиме standAlone.

Сценарии примененияlink

  • Корпоративные платформы с динамическими интерфейсами;
  • Редакторы, конструкторы (UI Builder, Course Creator);
  • Модульные системы, CRM, e-commerce;
  • Single Page Apps (SPA) с постепенной инициализацией.

Возможные направления развитияlink

  • Расширение RuleLoader для ещё более гибкого поиска;
  • Добавление тестов и диагностики подключенных ассетов;
  • Поддержка импортов ES6-модулей и importmap;
  • Расширение Smart-системы — привязка к ролям, состоянию, шаблонам.
  • Разделение сайта на разные компоненты (часто или всегда повторяющиеся).
  • Поддержка gzip кеше smart-компонетво.
  • Оптимизация смарт-компонентов - более гибкие настройки кеша

Итогоlink

SFLoader — это архитектура, в которой скорость, гибкость и надёжность соединены в единую систему. Она подходит для сложных проектов, где обычный Webpack или Laravel Mix уже не справляются с динамикой, а jQuery-стиль загрузки давно устарел.
Этот загрузчик легко масштабируется, читаем, и уже сейчас имеет всё необходимое для высоконагруженных и динамичных интерфейсов.