Программа для оптимизации css – Snap{CSS}
Я занимаюсь программированием. Фактически им одним и занимаюсь, но довольно часто приходится отвлекаться на менее любимые дела – работа с js, а также отладка файлов стилей. Мне часто на своем сайте приходится что-то добавлять, что-то удалять из файла style.css.
В итоге получается противоречие: мне нужен читальный файл стилей, чтобы можно было легко находить нужные мне классы и редактировать их, и в тоже время я “повернут” на оптимизации и мне нужен минимальный размер этого файла. То есть дилемма: читабельность кода – оптимизированность кода налицо.
Что я делал до 4 января 2010 года:
- открывал стили,
- добавлял в нужные мне места пробелы и табуляцию для улучшения читабельности,
- редактировал все, что мне надо,
- проверял работу,
- возвращался в файл стилей и удалял все ненужные пробелы и табуляцию,
- сохранял.
Многовато шагов выходило, причем 2 и 5 пункт занимают много времени и кучу внимания, чтобы не удалить скобку или еще что нужное. Но 4 января я нашел программу snap{css}, которая значительно облегчила мне жизнь.
Что я делал после 4 января 2010 года:
- открывал файл стилей,
- нажимал в программе кнопку Tools-Beautify,
- редактирую все, что надо,
- проверяю работу,
- возвращаюсь в программу и нажимаю Tools-Collapse,
- сохраняю.
По количеству пунктов – все то же самое, но по затратам времени – 2 и 5 пункт стали в десятки раз быстрее, уж поверьте.
Как из названия Beautify и Collapse вы уже поняли, эта программа позволяет в полностью автоматическом режиме добавить для всех классов табуляцию и сделать код супер-читабельным. Посмотрите видео:
Лично мне эта программа значительно облегчила жизнь и помогла сэкономить силы и размер css файла – у меня терпения хватило для ужатия до 25 килобайт. Эта программа сжала одним кликом до 22кб. Мелочь – а мне приятно…
В общем, советую взять ее на вооружение все, кто часто работает с файлами стилей. Ну а если это не для вас – ковыряться для оптимизации – обращайтесь ко мне за помощью ;)
И все-таки проще все-таки держать дебажный цсс и релиз-версию :)
@Сергей М.:
Ну хорошо, есть у вас дебажный вариант – вы сделал все, что вам надо. Как вы из него сделаете релиз-версию? Будете вручную удалять пробелы, табы и прочее ненужное? Или искать в инете минифаер? На все это надо время. А открыв css в этой программе (ведь все равно вы открываете файл в компе через фтп) вам не придется ничего потом искать – все делается на лету. Вы просто попробуйте :)
Минифайеры пользовал, потом написал свой пакетный обработчик с последующим gzip’ом – все равно всякие хитровымученные вещи вроде склеивания стилей и перекаскадирования не пользую, и пары регжкспов по удалению пробелов, лишних символов и обозначений мне хватает.
Впрочем, сейчас свой сайт запустил совсем, и понятно, что мне обычно проще релиз-версию делать раз-максимум два за все время, а не гонять туда-сюда.
(и, наверное, “на ты” проще)
@Сергей М.:
Ну меня гораздо чаще просыпается желание что-то помудрить над дизайном, потому я часто редактирую стили (добавляю, удаляю, уменьшаю). У каждого свой подход и свой уровень знаний – свой пакетный обработчик я пока не написал :)
Ты хорошо php знаешь?
(ок, согласен, что проще ;) )
Ну не у всех есть прямой доступ по ftp к файликам ;) в моем случаи – сливаю через защищенный ftp файл, затем правлю и после заливаю обратно.. работать через защищенный ftp могут единицы :(
а вообще раз программа туда сюда может перегонять css – то какие проблемы?
Пхп неплохо знаю, а что? :)
@Сергей М.
Ищу учителя :) Я тоже много чего знаю, но нужен человек, который мог бы помочь иногда советом. Обращаться можно будет, если что (email твой уже есть)?
Конечно :), хотя нет ничего ценнее, чем вещи, до которых додумался сам )
Сергей М.:
Спасибо :) По поводу ценностей – действительно, радости гораздо больше, когда спустя кучу часов нашел выход САМ, чем если тебе его подсказали. Но иногда бывает просто ступор – и тогда однозначно надо спрашивать у тех, кто знает больше.
Прочитал один раз. Не понял. Прочитал второй раз… Никогда не думал, что люди так борются за лишние несколько килобайт в файле стилей. И никогда не уделял этому внимание. И, честно говоря, и сейчас не могу понять: неужели это играет такую большую роль?
@Андрей М.:
Да, играет большую роль, так как если посетителей 100 на сайте – то без разницы, но если число в 10 раз больше – тогда возникают значительные задержки в отдаче сайте людям (тормоза или лаги), потому надо помогать несправляющемуся серверу убирая лишние килобайты для каждого посетителя.
Умножьте сэкономленное на общее количество просмотров всех страниц вашего сайта (включая ботов) – и вы увидите значительное число!
+1, когда посетителей внушительное количество (в том числе поисковых ботов, которых все больше и больше..) – чем меньше файлов – тем лучше серверу! а меньше файлов – засчет объединения файлов стилей, несколько картинок в одном файле (спрайты?) + если заранее сжать файлики – то серверу меньше работы…
Но для BP я бы подождал 1.2 и только потом все эти оптимизации…
Спасибо большое, что с пониманием отнеслись к вопросу и объяснили. У меня несколько сайтов, один из них с авторскими открытками. На joomla. Php почти не знаю. Я постоянно его обновляю, раскручиваю понемногу. Максимум посещаемости пока – 500 чел. Думал, что уже решил все тех. проблемы, теперь буду только радоваться. Ясно, что всё только начинается:)
Я правильно понял что пробелы, табы и прочее ненужное в css пагубно влияет на скорость и лучше удалять их??? и если да…ответьте почему в паре слов!
Альберт,
Вообще-то да, чем больше пробелов, табов, комментариев – тем больше весит файл css. Следовательно, больше времени необходимо для его загрузки. Если у вас файл до 10 килобайт и/или вы часто его редактируете, то можете и не париться по этому поводу – эффект он уменьшения будет очень мал. В иных случаях весьма целесообразным является сжатие с помощью этой проги: уменьшится вес, что приведет в увеличению скорости загрузки, незначительно – на пару миллисекунд, но когда-нибудь (когда/если посетителей будет тысяча или больше) и они будут очень важны, так как это уменьшит нагрузку на ваш сервер…
@slaFFik: Спасибо…я и незнал!)))
Альберт,
1) использовать сжатие на стороне сервера
2) использовать он-лайн сжималки css (но придется после каждого изменения в стилях – пересжимать)