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

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] (или просто пишите в этот топик)
 

vovik

Новичок
Хм
Может быть я чего-то не понимаю, но чем не подошло сжатие, предусмотренное в протоколе HTTP ?
 

magic

lancer
Мы сами создаем себе проблемы, которые потом мужественно преодолеваем :)
 

HEm

Сетевой бобер
Размер скрипта мало коррелирует с размером страницы, которую он генерирует.
 

DizzZ

Guest
Сжатие GZIP, предусмотренное протоколом HTTP полностью подходит :)
Но если сначала удалить весь мусор из скрипта, то GZIPом он жмется намного лучше. Кому интересно, могу привести статистику.
Кроме всего прочего, не все сервера, к сожалению, поддерживают GZIP.

-~{}~ 24.01.06 09:57:

Автор оригинала: HEm
Размер скрипта мало коррелирует с размером страницы, которую он генерирует.
Под словом "скрипт" имеется тут ввиду JavaScript, а не РНР, так что речь тут не о генерации страниц. Просто продвинутые скрипты часто бывают большими и хочется уменьшиьт их объем для более быстрой загрузки и обработки браузером.
 

HEm

Сетевой бобер
большой скрипт лучше разделить на несколько файлов, большинство из которых закешируется проксями или браузерами
Единственный набор продвинутых скриптов, занимающий объем который можно назвать большим из тех, что я видел - это Гмайл (несколько сотен кб).
 

DizzZ

Guest
Я видел много визуальных редакторов, имеющих большой объем.
Кроме того, с ростом популярности AJAX скрипты будут становиться все больше.
Что касается кеширования - согласен. Но для того, чтобы скрипт закешировался его придется все же хотябы один раз загрузить.
 
Сверху