Граальс YUI выступление - PullRequest
0 голосов
/ 02 ноября 2009

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

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

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

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

Спасибо, Гай

Ответы [ 2 ]

0 голосов
/ 02 ноября 2009

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

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

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

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

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

0 голосов
/ 02 ноября 2009

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

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

[...]

Особенности

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

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

...