Как стать автором
Обновить

Комментарии 4

Когда vector drawable вошло в обиход стало приятно работать с графикой. Теперь меньше мусора. Ведь больше не надо генерить изображения под каждый dpi.

Но в небольших решениях под конкретную задачу и определенное устройство. В плане занимаемого пространства порой выгоднее использовать графическое изображение. Так как файл с вектором может весить в несколько раз больше. И порой отрисовываться дольше чем png. Даже в системе андроид есть ещё базовая графика которую не выгодно заменять на вектор

Здорово что вы выделили время для написания статьи и ее оформления, однако вынужден заметить что ваше понимание вопроса довольно поверхностно.

Ну, например -

Проще говоря, при работе с SVG мы не оперируем пикселями или другими фиксированными единицами, а используем условные числовые значения, а уже потом определяем размер документа.

это не совсем так.

Будет корректнее сказать, что в SVG есть canvas, на котором мы рисуем (располагаем элементы) - это условно бесконечная плоскость, в пределах которой мы и оперируем размерами и положением элементов. И уже для его отображения на странице у нас существует параметр viewBox , в котором мы определяем координаты поля, которое будет отображаться, т.е. по сути это маска над плоскостью. А уже размеры самого svg элемента определяют размеры этой маски на странице. Т.е. по сути у нас есть изначальные истинные размеры (опустим морфинг для простоты) и 2 коэффициента, которые дают итоговый размер.

Вообще же SVG страдает тем же, что и XML- это очень простой по реализации формат, которым очень сложно пользоваться из-за его внутренней простоты и неочевидного синтаксиса. Они оба не очень human-frendly, но могут давать классные результаты на выходе если не пытаться использовать их за границами их применения (ну, например не рисовать в кривых фотореалистичный пейзаж гор, очевидно что растр будет дешевле).

Ну и для возможности полноценного использования SVG его стоит достать из-под плинтуса тега img и общаться с ним как с полноценным контейнером страницы, вот тогда он засияет всеми красками (например можно применить на него стили, повесить события и т.п.).

В общем не стоит его так бояться, он классный. Как и любимые регулярочки, которые не те кем кажутся, поэтому их никто не понимает и от этого грусно.

Интересно, как можно уже готовый svg анимировать. Например, сделать из лого loading.

Спасибо, за переведенный материал, но интереснее было бы про интерактивные возможности SVG, взаимодействие с документом и пользователем через JavaScript и события.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий