Производительность Grails YUI

Используя плагин grails YUI, я заметил, что мои теги gui заменены некоторым кодом javascript, который вставляется в страницу HTML.

Это поведение противоречит правилу Yahoo о создании внешнего кода JavaScript и CSS? (http://developer.yahoo.com/performance/rules.html)

Другими словами, как мне отделить код сценария от HTML-страницы, чтобы разрешить внешнее кеширование сценария js?

Следует ли мне использовать плагин производительности grails ui (http://grails.org/plugin/ui-performance) если на то пошло? есть ли другой способ сделать это?

Спасибо, парень


person Guy Gavriely    schedule 01.11.2009    source источник


Ответы (2)


Все в разработке программного обеспечения - это компромисс.

Зависит от того, перевешивает ли преимущество производительности важность наличия хорошо изолированного и поддерживаемого кода.

В вашем случае я бы не возражал против автоматического добавления дополнительного кода javascript для значительного повышения производительности.

Полное разделение кода и пользовательского интерфейса всегда имеет свою цену. Больше уровней абстракции и промежуточного кода часто приводит к снижению производительности, но лучшей ремонтопригодности.

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

person Wadih M.    schedule 01.11.2009

Ну, среди прочего, это одна из особенностей UiPerformance Plugin:

Плагин производительности пользовательского интерфейса обращается к некоторым из 14 правил Стива Содерса и команды производительности Yahoo.

[...]

Функции

  • минимизирует и архивирует файлы .js и .css
  • настраивает .js, .css и файлы изображений (включая favicon.ico) для кеширования, переименовывая их с увеличивающимся номером сборки и устанавливая заголовок с истекающим сроком действия в далеком будущем
  • [...]

Так что я бы его действительно использовал.

person Pascal Thivent    schedule 01.11.2009