Посоветуйте способы уменьшения объема скриптов

  • Автор темы Автор темы DizzZ
  • Дата начала Дата начала

DizzZ

Guest
Посоветуйте способы уменьшения объема скриптов

Довольно давно столкнулся с проблемой, которая мне до сих пор не дает покоя.
Есть скрипт, но он большой и его объем надо уменьшить. Поскольку за трафик приходится платить. Да и пользователей жалко :)
Можно руками его править, но очень долго и вообще как-то тупо.
Пробовал кучу разного софта: HTML Zip, HTMLCompress, w3compiler, packer и еще кучу всего.
В некоторых софтинах встретилась довольно забавная тенденция - скрипты не работают после сжатия (в частности такое наболюдалось после обработки w3compiler'ом).
Вторая проблема - из-за использования zip-подобного алгоритма (а также из-за того, что распаковщик написан на JavaScript) скрипты разжимаются довольно долго (иногда несколько секунд, такое наблюдалось в HTML Zip, например).
Короче, решил свою софтину написать - eCoder. Вышло довольно неплохо (http://ecoder.org.ua), но второй недостаток хоть и сгладился, но не исчез - скриты все равно довольно долго распаковывались (хотя качество сжатия было существенно лучше, чем у вышеописанного софта.)
Для работы этой софтины требовался еще и .NET 1.1, что тоже достоинством не назовешь :-/ . Но делать нечего, приходилось пользоваться тем, что есть.
Это было где-то год назад.
Со временем я все же пришел к мысли, что надо не паковать, а по возможности оптимизировать, удаляя лишнее и укорачивая имена переменных.
Поискал такой софт. Кроме упомянутого выше w3compiler'а нашел еще кучу барахла, но скрипты в результате обработки либо мало уменьшались в размере, либо переставали работать, либо и то и другое :)
И опять я решил посоревноваться. Вроде бы, на этот раз успешно :)
Софтина вышла небольшая, кроссбраузерная (и, следовательно, кроссплатформенная). Поскольку писал на JavaScript, работает это все не слишком быстро, но на мой взгляд вполне нормально (на оптимизацию скрипта в 50К уходит обычно несколько секунд). Скрипты вроде не портит.

Но вот какой вопрос: может кто подскажет, как еще можно уменьшить объем скриптов?
Своей софтной (я обозвал ее TrickyScripter) я решил поделиться со всеми желающими (не жалко =)), так что ваши советы не пропадут зря, а принесут пользу вам и другим разработчикам.
На данный момент TrickyScripter уменьшает объем скриптов обычно вдвое-втрое. Но, я думаю, это не предел, если каждый поможет, чем сможет :)
Если кто хочет дать совет, побыть бета тестер или кому просто интересен этот проект - мыльте на [email protected] (или просто пишите в этот топик)
 
Хм
Может быть я чего-то не понимаю, но чем не подошло сжатие, предусмотренное в протоколе HTTP ?
 
Мы сами создаем себе проблемы, которые потом мужественно преодолеваем :)
 
Размер скрипта мало коррелирует с размером страницы, которую он генерирует.
 
Сжатие GZIP, предусмотренное протоколом HTTP полностью подходит :)
Но если сначала удалить весь мусор из скрипта, то GZIPом он жмется намного лучше. Кому интересно, могу привести статистику.
Кроме всего прочего, не все сервера, к сожалению, поддерживают GZIP.

-~{}~ 24.01.06 09:57:

Автор оригинала: HEm
Размер скрипта мало коррелирует с размером страницы, которую он генерирует.
Под словом "скрипт" имеется тут ввиду JavaScript, а не РНР, так что речь тут не о генерации страниц. Просто продвинутые скрипты часто бывают большими и хочется уменьшиьт их объем для более быстрой загрузки и обработки браузером.
 
большой скрипт лучше разделить на несколько файлов, большинство из которых закешируется проксями или браузерами
Единственный набор продвинутых скриптов, занимающий объем который можно назвать большим из тех, что я видел - это Гмайл (несколько сотен кб).
 
Я видел много визуальных редакторов, имеющих большой объем.
Кроме того, с ростом популярности AJAX скрипты будут становиться все больше.
Что касается кеширования - согласен. Но для того, чтобы скрипт закешировался его придется все же хотябы один раз загрузить.
 
Сверху