2010-07-27 6 views
2

Я разрабатываю приложение PHP, которое использует Twig (но это неважно) в качестве уровня представления. Этот уровень представления имеет настраиваемое расширение, которое позволяет мне регистрировать как удаленный стиль, так и скриптовые активы, а также встроенные блоки стиля и сценария. Система поддерживает эти ссылки до тех пор, пока страница не завершит рендеринг, не поместив весь стиль непосредственно перед тегом, а все скрипты непосредственно перед тегом reference.Just-In-Time Asset Packager

Я видел таких упаковщиков на нескольких сайтах (DataExplorer для одного). Вот пример из vimeo:

<link rel="stylesheet" type="text/css" media="all" href="/assets/css/get/38402/global,lightbox,new_phome,stats_module" />

Я пытаюсь взвесить все за и против (и вот где вы, ребята приходят в!) О создании упаковщик активов (и минимизирующая), который кэширует все зависимостей страницы в два файла (js и css, соответственно).

Несколько проблем рассмотреть:

  • ли эта работа поможет, если пользователь должен загрузить разделы global.css, потому что он упакован на одной странице с login.css и упакованы с другой без него?

  • Нужен собрать этот в первый раз как пользователь нажмет его (и, конечно же, кэш впоследствии), или есть способ, чтобы очистить каждую страницу и кэшировать свернутые результаты в рамках развертывания так что один пользователь никогда не сталкивался с такой длинной загрузкой страницы?

Это время вдали от развертывания; Я просто подумал, что я получу несколько соображений от ваших экспертов.

ответ

1

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

Каждый файл создает другой запрос, с помощью которого:

  1. Запрос DNS может быть сделано,
  2. Печенье посланные (если не используется статический поддомен),
  3. механизмы аутентификации срабатывают,
  4. .htaccess, php.ini и т.д. проверяются

и тонн других. Накладные расходы на это обычно экспоненциально больше, чем упаковка и отправка их в один сжатый файл. И с сжатием, размер файла и кэширование не будут проблемой.

Вы можете найти действительно много хороших указателей об этом и других возможностях улучшения скорости для любого веб-приложения в Google Speed (особенно в статьях) и в Yahoo Performance.