расставляй правильно приоритеты и не отвлекайся на мелочи

Сжатие и кодирование JavaScript

Продолжаем жать данные для веб приложений, теперь на очереди, после CSS, код Java Script.

Стоит добавить, что помимо преимуществ описанных ранее, при сжатии Java Script мы получаем мнимое преимущество по нечитабельности кода, плюс возможность некоторых компрессоров шифровать и затруднять чтение кода Java Script.

Что-же из подручного для этих целей у нас имеется:

1. JS Crunch
Автор: Charles Foster
Есть исполняемый файл для запуска в командном режиме, утилита дружит с регулярными выражениями и UTF-8. Что неудобно: не выводит никакой информации о проделанной работе — коэффицент сжатия, исходные, конечные размеры.

2. JavaScript Compressor
Автор: Dean Edwards
Онлайн компрессор. Позволяет кодировать исходный код несколькими способами.

3. CSS & JavaScript Compressor
Онлайн компрессор. Довольно дубовый, без каких либо наворотов, вычищает лишние пробелы, табуляцию и пустые переводы строк.

4. ShrinkSafe
Для его использования Вам придется устанавливать Java машину. Этот компрессор я использовал до недавнего времени, пока не наткнулся на JS Crunch. Есть поддержка UTF-8. Если бы не обязательность Java, использовал бы его до сих пор.

А теперь самое главное — всегда проверяйте работоспособность кода сжатых Java Script’ов! И храните оригиналы!

Подытожу. Вообще-то, кто в теме, должен знать, что на самом деле сейчас все современные веб серверы и веб браузеры поддерживают gzip сжатие данных передаваемых между сервером и клиентом, как говорится, на лету, но это не повод для того, что-бы «раздувать» свои страницы и не заниматься их оптимизацией и компрессингом, пользуйтесь предоставляемой Вам возможностью, оно того стоит.

Что еще произошло на блоге: в подручные шпаргалки добавлен ресурс об XHTML cheat sheet. Я участник PHP сообщества, и на мою просьбу о корректировке документации к PHP касательно раздела mnoGoSearch пришел ответ, лучше поздно, чем никогда, я рад, что внес свои три копейки, еще-бы зааппрувили мой перевод по PECL инсталляции, было бы здорово.

5 комментариев на статью:
  1. laxa:

    Здравствуйте. Сначала кратко: вот ссылка где можно взять стабильный компрессор:
    http://www.russkiy-rim.ru/public/soft/jscompressor.html

    Теперь подробнее: Нужно было сжать один .js файл. Стал я пользоваться всеми этими онлайн-компрессорами, котоых так много в сети. Нашел даже один платный!! И во всех них нашел какие-то баги. Вот пример кода, который сжимается неправильно простым компрессором

    if(boolean)var varname=smth
    else if (boolean) ..

    Короче не понравилось мне это и я написал свой собственный компрессор. В нем удалось избежать многих проблем. Единственное, прога будет портить код при регулярных выражениях вида /a = b/g (ну без кавычек). Но все же более стабильная чем большинство онлайн-компрессоров. Не удивляйтесь — сайт, на котором лежит дистрибутив посвящен наружной рекламе

  2. Дрон:

    Спасибо, искал.

    Немного смущают онлайн компрессоры, не хотелось бы доверять свои изыскания посторонним :)

  3. Weugek:

    http://www.bananascript.com/ — тоже неплохая онлайн — сжималка

  4. Winner:

    Пацаны, прогоняем через Google компрессор, а потом суем в bananascript.com — получается просто пиздец, размером с zip архив. Правда не всегда запускается.

  5. Ивашка:

    Для сжатия графики лучше использовать программу fileoptimizer,для css и js плагин Better WordPress Minify

Ответить
Обязательные поля помечены *