SVG: Оптимизация лого сайта

Дата: 10.08.2016 в 13:11, Категория: Советы
  • 2741
  • 6
SVG: Оптимизация лого сайта

Недавно наткнулся на статью о том, как автор блога "Очередной PHP блог" делал анимированное лого. Хочу заранее предупредить, что я не собираюсь хвастаться более правильным решением, а объяснить, что не стоит делать так, как делал данный программист. Когда я наткнулся на эту статью, я увидел GIF анимацию и уже собирался наговорить всякого на автора, однако, он использовал SVG, а это хорошо.

Потому, что делать лого в растровом формате (JPG, PNG, GIF) не стоит, лучше в SVG (ибо, пора векторной графике идти на замену растровой). Если требуется конвертировать лого в растровый формат, вас никто не держит, просто векторная графика отображается лучше и весит меньшею

Автор объясняет процесс разработки лого и как он добивался минимального размера. Я посмотрел на принцип работы анимаци и понял, что так делать нельзя. Конечно хорошо то, что он сделал лого в SVG, но делать анимированное лого в виде спрайта, не есть хорошо (в данном случае).

ссылка на лого

Как утверждает автор, он перевел SVG в SVGZ и сжал спрайт, тем самым получив из 180 кб в 67 кб.. И тут он не соврал, это очень хорошая практика. Файл действительно весит 67 кб.

Ну вот и все - подготовительная работа завершена, и теперь приступим к анимации логотипа.

Нет, это пока только начало. Сейчас я покажу как сделать ту же анимацию только одним SVG изображением.

Слева, лого которое делал я, справа лого автора. Честно говоря, когда я увидел эту статью, я не стал смотреть полную версию и срисовал это лого с GIF изображения на Adobe Illustrator + Sketch. Дизайнер из меня конечно не ахти, сделал как смог.

Я просто использую одну SVG, для каждого зубчатого колеса я использую свой идентификатор. С помощью JS, я сделал вращение объекта. Конечно есть еще другие варианты, но CSS криво прокручивал эти колеса и я сделал такой вариант.

Если еще и сжать эту SVG, как сжимает автор то это даст еще лучший эффект + сжать какой-нибудь утилитой.

Если примерно определить процент сжатия: 180 / 67 100 = 37% 12 37 / 100 = 4,44 кб

Думаю статья вам была интересной и вы поняли как надо работать с анимацией для лого. Я как и писал в начале, не собирался показать, что автор данного блога поступил неправильно. Он все делал хорошо, но, делать такого рода анимацию не есть правильно.