Довольно давно столкнулся с проблемой, которая мне до сих пор не дает покоя. Есть скрипт, но он большой и его объем надо уменьшить. Поскольку за трафик приходится платить. Да и пользователей жалко Можно руками его править, но очень долго и вообще как-то тупо. Пробовал кучу разного софта: 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] (или просто пишите в этот топик)
С чего ты взял, что я не знаю пхп и не пользуюсь гзипом? Вообще несложно догадаться, что если из скрипты выкинуть весь мусор, то он и гзипом лучше сожмется.
2DizzZ знать пхп. это не значит знать его вообще а уметь писать нормально чтоб в скрипте не было лишнего мусора который потом и грузитса часами... а если есть такая проблема то лучше почитать книги умные по основам програмирования вобщем и оптимизацыи програм...
Я говорил про JavaScript в первую очередь, так что РНР тут не при чем. В принципе, даже очень грамотно написанный скрипт можно уменьшить в пару раз.
А вынести в отдельный файл его? Он тогда больше не будет загружаться, броузер его будет брать из кеша %)
А у юзеров что оттого что скрипт размером больше будет страничка дольше грузиться? Они напрямую к скрипту никакого отношения не имеют...
Автор написал что имеет в виду JS. Как написали - все js удобно в файле одном хранить. Да и на среднестатистическом сайте че там этого JS? С гулькин нос! А чтобы вес со страницы срезать, лучше уж грамотно изображения оптимизировать - а то у некоторых кнопка-блямба по пару мегов. Или html подчистить. Или прогнать через какой-нить html-оптимизатор, который удалит все что лишнее (и пробелы между тэгами в том числе). Т.е. все будет в одну строку (где это возможно). Так что лучше html чистить.
Шаблонизирование как говорилось выше... Чтоб работало все с кешем. <script src=function.js></acript> та же история и с css.Сжимай график. все выноси за рамки документа... Вот а вообще да смотря какой скрипт ..если только хтмл то то что я описал выше и если еще и пхп то полюбому работа с шаблонами и оптимиззация кода в официальном мануале по пхп об этом много сказано что например не используйте регепсы там где действительно можно обойтися без них такая же фигня и с циклами while и for.Вот так вообщем. и вот еще.. не надо изобретать в своих скриптах велосипед есть уже давно много классов готовых которые давным давно оптимизированныи по размеру и по функциональности используй также встроиный функции коих множество. Не надо писать класс который будет вычислять синусы и косинусы которые займут лишние килобайты строк веди есть готовые функции которые занимают 40 байт