Pull to refresh

Comments 6

Спасибо, что поделились опытом!

Расскажите пожалуйста, как вы следите за соблюдением контракта в Figma, например, чтобы цвет primary внезапно не стал bgPrimary и не поломал имплементацию палитры? Есть ли какая-то автоматизация таких проверок или только договорённости с дизайнерами?

И ещё один вопрос: почему вы выбрали SVG, а не ImageVector из Compose?

Здравствуйте) Спасибо за комментарий)

Расскажите пожалуйста, как вы следите за соблюдением контракта в Figma, например, чтобы цвет primary внезапно не стал bgPrimary и не поломал имплементацию палитры?

Пока это исключительно договорённость с командой дизайна. Рассказали ребятам, как работает генерация, что есть обратная совместимость и сошлись на том, что токен, который уже попал в разработку, переименовать нельзя. В дальнейшем планируем для цветов тоже ввести поддержку deprecated. По поводу валидации на уровне кода и CI/CD - пока таковая отсутствует. Видел, что есть тулинг, например, japicmp и/или kotlin binary compatibility validator. Если договорённостей будет недостаточно, ошибки будут частыми, то будем плотно смотреть в сторону подобного тулинга.

почему вы выбрали SVG, а не ImageVector из Compose?

Для преобразования svg в Android Vector Drawable в Android SDK уже есть подходящий класс, который Android Studio в том числе использует. Поэтому выбор пал на него как на инструмент, работающий исправно годами и при этом не пришлось копировать в генератор код, а просто подключили в него нужную зависимость :)

По поводу ImageVector - в планах есть попробовать, но не самых ближайших. Не факт, что получится полностью уйти от Android Vector Drawable (AVD) - есть AndroidManifest, есть разные сторонние sdk, которые для кастомизации могут использовать xml-ные темы, в которых ImageVector использовать не получится.

Преимуществ ImageVector надо AVD пока тоже не видел. Если поделитесь информацией/ссылкой, буду очень благодарен :)

Как организована работа с градиентами? Похоже в variables api их нету - только цвета

Здравствуйте) Спасибо за вопрос)

Пока с автоматизацией градиентов повременили - всего 4-е токена и на bdui они не используются. Будем обновлять вручную. В Variables их и правда пока что нет - у дизайнеров они оформлены как обычные Figma-стили. Если к моменту, когда возникнет необходимость в генерации и в Variables их Figma не добавит, то будем выгружать их через старое API Figma - фреймы, обход нод, нахождение значений градиентов. Думаю, сможем взять предыдущий наш код, который генерировал цвета по старому API, и доработать его.

Спасибо, что поделились кейсом. Побольше бы таких статей на Хабре!

Спасибо за ваш комментарий :)

Sign up to leave a comment.