Пилим Библу или Рефакторинг дизайн-системы | Ozon Tech Community Design Meetup

Sdílet
Vložit
  • čas přidán 21. 02. 2023
  • Рассказываю как сделать компоненты дизайн-системы в Figma легче, подвижнее, удобнее. Как организовать библиотеку и запустить витрину. Делюсь хитростями и лайфхаками.
    Весь митап тут czcams.com/users/liveFiqtBduN...
    Обязательно посмотрите, там много интересного.

Komentáře • 84

  • @zagizagi
    @zagizagi Před 13 dny +1

    Очень круто! Спасибо за выступление

  • @_den_
    @_den_ Před rokem +3

    Давайте делать хорошо, и не делать плохо!

  • @akirillov
    @akirillov Před rokem +7

    00:00 Вступление
    00:42 Привет всем. О себе
    01:34 Что будет?
    02:02 Одна из основных метрик дизайн-системы (ДС)
    02:55 Как боролись за скорость проектирования. История Ozi
    04:32 Проблемы первой ДС. Variants explosion. 2GB
    06:12 Как было устроено в первой версии ДС
    09:19 Рефакторинг (оно же Мясо)
    12:30 Минусы нового подхода
    13:30 Документация ДС (Showcase)
    18:11 Новые механики работы с компонентами
    24:35 Оно того стоило?
    28:17 Ускоряемся? ДС это не проект, это продукт.
    30:52 Вопросы

  • @user-st6bp2yy9x
    @user-st6bp2yy9x Před rokem +2

    Второй раз пересматриваю и как будто заново посмотрел. Где второй лайк поставить?

  • @anton.balatruk
    @anton.balatruk Před rokem +1

    Виктор. Благодарность безмерная! ❤ как всегда годный контент

  • @krenskiy
    @krenskiy Před rokem +1

    Это великолепно. Большое спасибо! 🙏

  • @IvanIsayev
    @IvanIsayev Před rokem

    Спасибо за видео, что делитесь таким непростым техническим опытом

  • @dddragooon
    @dddragooon Před rokem

    Спасибо, обожаю твой канал и тебя получается

  • @opankihaha
    @opankihaha Před rokem

    Спасибо, полезная информация. Мотивирует!

  • @radionadamets8074
    @radionadamets8074 Před rokem

    Спасибо за презентацию! 👍🏼

  • @GregNOrekhov
    @GregNOrekhov Před rokem

    два раза пересматривал весь митап и тут теперь выскочил твой канал в рекомендах! Супер, спасибо! Взял некоторые идеи по рефакторингу на вооружение, попробую замутить. Хорошо что у нас дс пока на начальной стадии, чтобы сразу сделать хорошо ))

  • @user-hp2eu5zf5c
    @user-hp2eu5zf5c Před rokem

    Очень крутой доклад!

  • @vmiroshnikov
    @vmiroshnikov Před rokem +1

    О, поздравляю с синьорством, кстати! :)

  • @nikumiss
    @nikumiss Před rokem

    Спасибо, сенсей, очень крутая лекция!!

  • @mentaljaze
    @mentaljaze Před rokem

    Мощь, большое спасибо!

  • @Lara-sj1lq
    @Lara-sj1lq Před rokem

    Наконец-то годнота от Виктора. ❤

  • @julia_riya
    @julia_riya Před rokem +1

    Это! Очень! Круто! F

  • @felixkostyuk
    @felixkostyuk Před rokem

    Огонь!

  • @atomicrus
    @atomicrus Před rokem +1

    Очень круто, озон супер как UI//UX нравится, особенно интересно как это устроено внутри. Местами конечно странные решения расположения элементов в карточках (вечно ищу "добавить в избранное" в верхней строке на десктопе, не читается, привык к сердечку рядом с кнопкой купить или в блоке с ценой, и не всегда влезает цена товара в один экран), но в остальном всегда замечал как быстро стали выкатываться новые блоки. Жаль рекламных блоков на заглавке стало много, ещё и с видосами. Моей модели потребления это мешает, вечно скроллить нужно, чтоб пропустить продвигаемые блоки. Но это моя модель потребления, чаще я прихожу за конкретным и в поиск. Про рефакторинг и deprecated прям божественно. В своё время не решился в озон податься от недостатка скиллов, теперь видя эту титаническую работу внутри, это мечта

  • @sweeeetkiller
    @sweeeetkiller Před 15 dny

    Спасибо за доклад. Подскадите, как вы думаете, насколько глубоко должен знать продукт дизайнер дизайн-системы, чтобы качественно ее развивать?

    • @zen-designer
      @zen-designer  Před 15 dny

      @@sweeeetkiller привет! Чем глубже, тем лучше дс будет решать проблемы. Нельзя в вакууме сделать годную дс

  • @Mark-ry9lu
    @Mark-ry9lu Před rokem +4

    Я ждал когда же будут Пистончики

    • @user-vl6rc7fe8e
      @user-vl6rc7fe8e Před rokem

      тоже скучаю по ним. И обзоры по штепселькам

  • @AnnyFanny85
    @AnnyFanny85 Před 6 měsíci

    А можно копию или иходник глянуть под капот в фигме, как эти файлики отдельно лежат и связаны ?

  • @dimasov2585
    @dimasov2585 Před rokem

    про медитацию и простукивания жиза жизненная))

  • @rrjpg
    @rrjpg Před 6 měsíci

    Пушкарь душит

  • @grayphoenix2606
    @grayphoenix2606 Před rokem +1

    Спасибо, Виктор! Можешь подсказать плиз. Почему когда хочу опубликовать библиотеку элементов, который неходятся в варианте, публикуется только первый элемент стоящий в этом варианте? Хотя в варианте штук 40 элементов.

    • @zen-designer
      @zen-designer  Před rokem

      Так через панель свойств переключаются варианты. Или я не понял

  • @stascov
    @stascov Před rokem

    Спасибо за презентацию! Хороший пример для опыта можно взять себе в работу, эти боли с разрастающимся китом и обьектами я думаю испытали многие) Только я хотел уточнить, вроде фигма сделала ограничения для России по тарифу организация, эта возможность вернулась или вы как то нашли пути обхода проблемы?

    • @zen-designer
      @zen-designer  Před rokem

      Это не моя зона ответственности

  • @user-xd4bl1gd1v
    @user-xd4bl1gd1v Před 10 měsíci

    Привет! Супер видео, спасибо! Сейчас тоже занимаюсь разработкой ДС, конечно гораздо меньше по масштабам, но все же)) Подскажи, в связи с последним обновлением Figma variables, планируете ли вы переезжать на полноценную токенизацию через variables?

    • @zen-designer
      @zen-designer  Před 10 měsíci

      Ждём типографику и операции над переменными

  • @konstantinshishlyannikov5677

    24:26 подскажите, что это нам дает когда мы локальный компонент таба засовываем в обертку из библиотеки? Это нужно чтобы контролировать падинги?

    • @zen-designer
      @zen-designer  Před 2 měsíci

      Да. Или тени, или что-то ещё. Плюс это говорит разработчику что такой компонент есть в коде

  • @valentin9455
    @valentin9455 Před rokem +1

    Раньше я был просто фанатом оптимизации, а теперь я еще и фанат Виктора)) очень чётко и полезно

    • @zen-designer
      @zen-designer  Před rokem +2

      Режим, одинаковые завтраки, небольшой выбор одежды, и т.д. )

  • @maksevsiukov1510
    @maksevsiukov1510 Před rokem

    Виктор, я так понимаю вы в команде дс контролируете только базовые компоненты (инпуты, кнопки…) а как вы организуете продуктовые компоненты-организмы, тоже создаете для них файлы или команды хранят это в своих локальных библиотеках? Условно, команда, которая отвечает за оплату товаров сделала компонент банковской карты, где он живет, кто его описывает и может ли другая команда переиспользовать его?

    • @zen-designer
      @zen-designer  Před rokem

      Такие организмы живут в продуктовых библиотеках. Переиспользовать их могут все команды этого продукта

  • @deeplove9
    @deeplove9 Před rokem

    А почему табу не сделать просто компонентом одним и в зависимости от случая собирать нужное количество таб из этого одноо компонента? И слоев меньше и больше гибкость. Спасибо за ответ

    • @zen-designer
      @zen-designer  Před rokem +1

      Там есть общая линия внизу например. В других сборных компонентах свои заморочки. Например в дропдауне общая тень, скругление углов контейнера..

    • @deeplove9
      @deeplove9 Před rokem

      ​@@zen-designer спасибо. Потмоу что мучаль вопрос зачем народ делает такое количество непредсказуемых компоннетов в виде дропдаунтов/таб и прочего

  • @uxvoin
    @uxvoin Před měsícem

    Виктор, у меня к вам два вопроса: 1. Состояния кнопок, у вас только default, hover, loading и этого достаточно. Как вы относитесь к тому, что некоторые разработчики просят им сделать focused, pressed states кнопки? что увеличивает кол-во вариантов.
    2. Работаю сейчас на фрилансе с java разработчиком над его дизайн-системой, у нас (по его видению) уже 900 переменных (лично я дизайн систему собираю впервые, но судя по тем примерам и разборам для создания двух тем lgt, drk достаточно 60 переменных. В связи с таким большим кол-вом переменных Figma начинает баговать и часть переменных стираются или временно не отображаются, в общем мучаюсь, но разработчик (он же заказчик) стоит на своем.

    • @zen-designer
      @zen-designer  Před měsícem

      Дополнительные стейты кнопки можно сделать отдельно и передать разработчику. Не обязательно делать их в боевом компоненте.
      Пахнет компонентными переменными. Завозить их в Figma не обязательно. Можно сделать семантическую палитру, а компонентные переменные разработчик будет держать только в коде

  • @Belarusdds
    @Belarusdds Před měsícem

    Витя, спасибо. Подскажи пожалуйста, где заказать или скачать эти стикеры?

    • @zen-designer
      @zen-designer  Před měsícem +1

      t.me/addstickers/ozon_design

    • @Belarusdds
      @Belarusdds Před měsícem

      @@zen-designer Спасибо большое

  • @PirusHelp
    @PirusHelp Před rokem +1

    А где собирали презентацию? Выглядит очень еффектно

    • @zen-designer
      @zen-designer  Před rokem +3

      Всё Figma. И собирали и показывали в ней

    • @wrongIQ
      @wrongIQ Před rokem +1

      @@zen-designer высшим классом было бы собрать всё на базе этой вашей OZI

    • @kkashaev
      @kkashaev Před rokem

      это же Фигма и smart animates )

    • @kkashaev
      @kkashaev Před rokem

      @@zen-designer а можно саму презентацию?

    • @zen-designer
      @zen-designer  Před rokem

      @@kkashaev к сожалению нет. Там всякие ссылки на потайные места )

  • @dan9oct
    @dan9oct Před rokem

    Привет! Преза 👍🏻
    Вопрос есть по иконкам, возможно не под тем видео пишу, но не страшно 🙈
    У вас есть компонент IconContainer, я так понимаю, он нужен чтобы была возможность менять размер иконки в компоненте, например в кнопке. Проблема такая, создал такой же, но когда меняю размер иконки в кнопке, сама иконка меняет размер, но размер контейнера остается прежним. Есть решение, если сам IconContainer сделать Auto Layout с параметрами Hug Container, тогда все работает как надо, но в таком случае не получается сделать например иконку 20х20 в контейнере 16х16 как у вас написано в гайде 15:55 .
    Если можете, расскажите как у вас этот компонент устроен 👉🏻👈🏻

    • @zen-designer
      @zen-designer  Před rokem

      Там было очень костыльное решение, которое не выдержало проверку боем

    • @dan9oct
      @dan9oct Před rokem

      @@zen-designer А сейчас придумали какое нибудь решение или детатчите?

    • @zen-designer
      @zen-designer  Před rokem +1

      @@dan9oct доделали все иконки в двух размерах. Не скейлим

  • @shestpsov
    @shestpsov Před 11 měsíci

    Почему делаете витрину? Почему не давать описания сразу в файле с родителями-компонентами?

    • @zen-designer
      @zen-designer  Před 11 měsíci

      Чтобы была единая точка входа в ДС

    • @user-xd4bl1gd1v
      @user-xd4bl1gd1v Před 10 měsíci

      Ты представь, так бы пришлось по каждому компоненту открывать отдельный файл, чтобы посмотреть документацию

  • @yagelProject
    @yagelProject Před rokem

    Скиньте пожалуйста ссылку на плагин для проверки нагрузки на файлы Figma

    • @zen-designer
      @zen-designer  Před rokem +1

      Не знаю такого. Я показывал где найти виджет

    • @yagelProject
      @yagelProject Před rokem

      @@zen-designer спасибо. Я еще раз посмотрел видео и нашел в разделе view. Спасибо за доклад. Очень полезный!

  • @wrongIQ
    @wrongIQ Před rokem

    Ох, если б я знал раньше насколько ты умный!!!

  • @ferkatskyrim
    @ferkatskyrim Před rokem

    Виктор, здравствуйте! Я вот с одной вещью разобраться не могу в своей недо-дизайн системе: если мастер менять и публиковать изменения, то они применяются на инстансы в остальных файлах, но с вариантами так не робит. Поменял мастеры в вариантах и никакой кнопки Publish. Смотрю на инстансы этих вариантов в других файлах, а там обновлений нема... Шо вот я делаю не так 😅 На другом файле стоит привязка к библиотеке, стили отображаются, а вот компоненты не хотят обновляться

    • @zen-designer
      @zen-designer  Před rokem +1

      Попробуй в меню быстрого запуска (cmd+/) набрать Republish...

    • @zen-designer
      @zen-designer  Před rokem

      В названиях компонентов в начале нет точки или подчёркивания? Такие компоненты не публикуются

    • @ferkatskyrim
      @ferkatskyrim Před rokem

      @@zen-designer ни-ни, таким не балуюсь) толоко через слєш

    • @ovsjanik
      @ovsjanik Před 10 měsíci +1

      Посмотрите property компонента, скорее всего там есть ошибка или не привязанная функция, она не даст обновить компонент

    • @ferkatskyrim
      @ferkatskyrim Před 10 měsíci

      @@ovsjanik а все, я гуру! 😅
      Все оказалось проще, чем я себе представлял

  • @user-vl6rc7fe8e
    @user-vl6rc7fe8e Před rokem

    А расскажи какой наилучший вариант взять какую-то существующую дизайн-систему (MS Fluent UI свежая, к примеру), но без полноценной библиотеки компонентов в фигме и затащить ее в фигму? Есть волшебно-изящный способ? Или только нудно-занудно ручками с болью и укоряющими взглядами менеджера в духе «хули так долго»?

    • @zen-designer
      @zen-designer  Před rokem

      Не верю в магические кнопки и плагины. Скорость не всегда решает в долгосрочной перспективе

  • @Trecoolerok
    @Trecoolerok Před rokem

    Было бы прикольно сделать доку в obsidian publish?

    • @zen-designer
      @zen-designer  Před rokem +1

      Для личных заметок по ДС использую Obsidian. Для доки удобнее сама Figma

    • @maksevsiukov1510
      @maksevsiukov1510 Před rokem

      А не проще для доки использовать текстовый сервис? Как ноушен. Там же можно эмбдить видео, прототипы интерактивные, не надо никуда переходить и навигацию кмк проще организовывать

    • @zen-designer
      @zen-designer  Před rokem +1

      @@maksevsiukov1510 проще. Но заставить им пользоваться не проще.

  • @fedordostoevskiy4209
    @fedordostoevskiy4209 Před rokem

    Без обид, специально зашёл на сайт с мобилы сейчас. На конструкторах и то посимпатичнее. Вкусовщина конечно, но довольно старомодно и безлико.