DizzZ > 25-01-2006 21:05:48 |
Довольно давно столкнулся с проблемой, которая мне до сих пор не дает покоя. Есть скрипт, но он большой и его объем надо уменьшить. Поскольку за трафик приходится платить. Да и пользователей жалко Можно руками его править, но очень долго и вообще как-то тупо. Пробовал кучу разного софта: HTML Zip, HTMLCompress, w3compiler, packer и еще кучу всего. В некоторых софтинах встретилась довольно забавная тенденция - скрипты не работают после сжатия (в частности такое наболюдалось после обработки w3compiler'ом). Вторая проблема - из-за использования zip-подобного алгоритма (а также из-за того, что распаковщик написан на JavaScript) скрипты разжимаются довольно долго (иногда несколько секунд, такое наблюдалось в HTML Zip, например). Короче, решил свою софтину написать - eCoder. Вышло довольно неплохо (http://ecoder.org.ua), но второй недостаток хоть и сгладился, но не исчез - скриты все равно довольно долго распаковывались (хотя качество сжатия было существенно лучше, чем у вышеописанного софта.) Для работы этой софтины требовался еще и .NET 1.1, что тоже достоинством не назовешь :-/ . Но делать нечего, приходилось пользоваться тем, что есть. Это было где-то год назад. Со временем я все же пришел к мысли, что надо не паковать, а по возможности оптимизировать, удаляя лишнее и укорачивая имена переменных. Поискал такой софт. Кроме упомянутого выше w3compiler'а нашел еще кучу барахла, но скрипты в результате обработки либо мало уменьшались в размере, либо переставали работать, либо и то и другое И опять я решил посоревноваться. Вроде бы, на этот раз успешно Софтина вышла небольшая, кроссбраузерная (и, следовательно, кроссплатформенная). Поскольку писал на JavaScript, работает это все не слишком быстро, но на мой взгляд вполне нормально (на оптимизацию скрипта в 50К уходит обычно несколько секунд). Скрипты вроде не портит. Но вот какой вопрос: может кто подскажет, как еще можно уменьшить объем скриптов? Своей софтной (я обозвал ее TrickyScripter) я решил поделиться со всеми желающими (не жалко ), так что ваши советы не пропадут зря, а принесут пользу вам и другим разработчикам. На данный момент TrickyScripter уменьшает объем скриптов обычно вдвое-втрое. Но, я думаю, это не предел, если каждый поможет, чем сможет Если кто хочет дать совет, побыть бета тестер или кому просто интересен этот проект - мыльте на scriptGuru@gmail.com (или просто пишите в этот топик) |
ViRUS > 26-01-2006 05:45:52 |
Пробовал кучу разного софта: HTML Zip, HTMLCompress, w3compiler, packer и еще кучу всего.
gZip на сервере - "дешево, надёжно и практично". На данный момент TrickyScripter уменьшает объем скриптов обычно вдвое-втрое. Но, я думаю, это не предел, если каждый поможет, чем сможет smile
Думаю разница между 6 и 21Кб некритична, зато скрипт становится абсолютно нечитаемым, да и редкость в последнее время монструозные скрипты... ЗЫ: ИМХО, лучшее применение обеих софтин - скрэмблирование JS-троянов... |
DizzZ > 31-01-2006 15:08:01 |
гзип не заменяет, а дополняет TrickyScripter файл, откуда выброшен мусор, жмется лучше (как ни странно ) |
ladserg > 31-01-2006 15:11:16 |
DizzZ А что за скрипт? Может дешевле использовать perl или PHP? |
DizzZ > 01-02-2006 13:37:42 |
В каком смысле дешевле? Это бесплатно Пока что я не видел оптимизаторов, которые сильнее уменьшают объем JavaScript-скриптов, чем TrickyScripter. И это при том, что я в нем применил только около половины способов уменьшения объема. |
ladserg > 01-02-2006 14:08:41 |
DizzZ Бесплатно, просто многие в скрипт на JavaScript'е суют еще и генерацию HTML кода, хотя дешевле его генерировать при помощи perl или PHP, и пользователю сервер отдаст уже сгенерированную страницу. Сама программа на perl или PHP исполняется на сервере, а клиенту передаётся результат. Я потому и спросил чего делает скрипт. |
DizzZ > 01-02-2006 14:14:58 |
Довольно часто на стороне клиента генерировать HTML значительно выгоднее. Вообще я давно заметил, что люди, которые знают серверное программирование, пытаются ВСЕ делать серверными скриптами. Аналогично и про людей, хорошо знающих клиентское программирование. Но в данном случае речь не об этом. В этом топике вы можете дать советы по улучшению бесплатного опенсорсового оптимизатора любых скриптов на JS. Либо поспорить на тему его эффективности и нужности |
ladserg > 01-02-2006 14:21:52 |
DizzZ пишетДовольно часто на стороне клиента генерировать HTML значительно выгоднее. Вообще я давно заметил, что люди, которые знают серверное программирование, пытаются ВСЕ делать серверными скриптами. Аналогично и про людей, хорошо знающих клиентское программирование. Но в данном случае речь не об этом. В этом топике вы можете дать советы по улучшению бесплатного опенсорсового оптимизатора любых скриптов на JS. Либо поспорить на тему его эффективности и нужности
Использовать сервер для генерации страниц и есть совет по оптимизации скрипта. И всё таки интересно, какая может быть причина генерации страницы на стороне клиента, я сам пишу веб приложения и мне очень интересно. |
Al_H > 01-02-2006 20:42:36 |
Вообще я давно заметил, что люди, которые знают серверное программирование, пытаются ВСЕ делать серверными скриптами. Аналогично и про людей, хорошо знающих клиентское программирование.
Ну да. Но главное что нужно учитывать - понадобятся ли лишние загрузки страниц. Если нет - можно и на сервере генерировать. |
DizzZ > 02-02-2006 13:25:33 |
ladserg: Представьте такую ситуацию: У нас есть таблица с сортировкой, записей на 200. Если это делать серверным скриптом, то каждый раз как пользователь пересортировывает таблицу это зпставляет сервер генерить страницу, порождает килобайт 100 никому не нужного трафика и затавляет юзера ждать загрузки. Если сортировку таблицы делать на клиенте, все будет быстро и красиво. |