Довольно давно столкнулся с проблемой, которая мне до сих пор не дает покоя.
Есть скрипт, но он большой и его объем надо уменьшить. Поскольку за трафик приходится платить. Да и пользователей жалко
Можно руками его править, но очень долго и вообще как-то тупо.
Пробовал кучу разного софта: 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 (или просто пишите в этот топик)
Отсутствует
Пробовал кучу разного софта: HTML Zip, HTMLCompress, w3compiler, packer и еще кучу всего.
gZip на сервере - "дешево, надёжно и практично".
На данный момент TrickyScripter уменьшает объем скриптов обычно вдвое-втрое. Но, я думаю, это не предел, если каждый поможет, чем сможет smile
Думаю разница между 6 и 21Кб некритична, зато скрипт становится абсолютно нечитаемым, да и редкость в последнее время монструозные скрипты...
ЗЫ: ИМХО, лучшее применение обеих софтин - скрэмблирование JS-троянов...
Непослушные локоны горничной выбивались из-под её кружевного фартука...
Отсутствует
DizzZ
А что за скрипт? Может дешевле использовать perl или PHP?
Этот мир, не совершенный, состоит из всех из нас. Он прямое отражение наших чувств и наших глаз.
Этот мир не станет лучше и не станет он добрее, если сами мы добрее не станем.
(@ Игорь Тальков, Этот мир).
Отсутствует
В каком смысле дешевле? Это бесплатно
Пока что я не видел оптимизаторов, которые сильнее уменьшают объем JavaScript-скриптов, чем TrickyScripter. И это при том, что я в нем применил только около половины способов уменьшения объема.
Отсутствует
DizzZ
Бесплатно, просто многие в скрипт на JavaScript'е суют еще и генерацию HTML кода, хотя дешевле его генерировать при помощи perl или PHP, и пользователю сервер отдаст уже сгенерированную страницу. Сама программа на perl или PHP исполняется на сервере, а клиенту передаётся результат. Я потому и спросил чего делает скрипт.
Этот мир, не совершенный, состоит из всех из нас. Он прямое отражение наших чувств и наших глаз.
Этот мир не станет лучше и не станет он добрее, если сами мы добрее не станем.
(@ Игорь Тальков, Этот мир).
Отсутствует
Довольно часто на стороне клиента генерировать HTML значительно выгоднее.
Вообще я давно заметил, что люди, которые знают серверное программирование, пытаются ВСЕ делать серверными скриптами. Аналогично и про людей, хорошо знающих клиентское программирование.
Но в данном случае речь не об этом.
В этом топике вы можете дать советы по улучшению бесплатного опенсорсового оптимизатора любых скриптов на JS. Либо поспорить на тему его эффективности и нужности
Отсутствует
Довольно часто на стороне клиента генерировать HTML значительно выгоднее.
Вообще я давно заметил, что люди, которые знают серверное программирование, пытаются ВСЕ делать серверными скриптами. Аналогично и про людей, хорошо знающих клиентское программирование.
Но в данном случае речь не об этом.
В этом топике вы можете дать советы по улучшению бесплатного опенсорсового оптимизатора любых скриптов на JS. Либо поспорить на тему его эффективности и нужности
Использовать сервер для генерации страниц и есть совет по оптимизации скрипта. И всё таки интересно, какая может быть причина генерации страницы на стороне клиента, я сам пишу веб приложения и мне очень интересно.
Этот мир, не совершенный, состоит из всех из нас. Он прямое отражение наших чувств и наших глаз.
Этот мир не станет лучше и не станет он добрее, если сами мы добрее не станем.
(@ Игорь Тальков, Этот мир).
Отсутствует
Вообще я давно заметил, что люди, которые знают серверное программирование, пытаются ВСЕ делать серверными скриптами. Аналогично и про людей, хорошо знающих клиентское программирование.
Ну да. Но главное что нужно учитывать - понадобятся ли лишние загрузки страниц. Если нет - можно и на сервере генерировать.
Отсутствует
ladserg:
Представьте такую ситуацию:
У нас есть таблица с сортировкой, записей на 200.
Если это делать серверным скриптом, то каждый раз как пользователь пересортировывает таблицу это зпставляет сервер генерить страницу, порождает килобайт 100 никому не нужного трафика и затавляет юзера ждать загрузки.
Если сортировку таблицы делать на клиенте, все будет быстро и красиво.
Отсутствует