TGViewer
Техно Лёха Техно Лёха @technolexa · 100 subscribers
Post #21 296
Как мы подружили SwiftUI и дизайн-систему

Примерно полтора года назад мы с командой решили что хотим в SwiftUI. Но оказались в ситуации: вроде бы все знают что это, но ни у кого нет особо опыта в продакшене.
И возник главный вопрос: «а с чего начать то»?
У меня к тому моменту уже был опыт в SUI и я пришёл к техлиду с желанием помочь внедрять в проект. Обсудив, решили что нужны «строительные блоки» - с помощью которых любой разработчик сможет написать фичу на SwiftUI. Видишь макет - понимаешь из чего собрать на SUI.

Почему Atomic Design:
За основу взяли методологию Atomic Design (картинка). Идея простая: мельчайшие блоки интерфейса - это атомы и молекулы: токены цветов, лейблы, картинки, кнопочки. Начинаем с них и постепенно собираем всё остальное.

Что сделал на старте:
Написал обёртки для базовых вещей: Color, Text, Image. Это позволило использовать существующие токены дизайн-системы прямо в SwiftUI - через extension'ы и кастомные ViewModifier'ы. Разработчик берёт знакомые названия из UIKit-мира и пишет на SUI без переучивания.
Параллельно написал документацию по переезду и рассказал на гильдии - а потом ещё и ещё несколько раз. Организовал встречу, на которой делились опытом у кого его было больше (ребята из Drinkit). Решали проблемы о которые спотыкались, обсуждали как вообще хотим писать на SUI.

Синхронизация с дизайнерами:
Много общались с дизайнерами: показывали как устроен SwiftUI, прям иногда вместе код смотрели. Они уже знали что Figma умеет генерировать какой-то код - стало проще говорить на одном языке.

Что в итоге:
Когда базовые молекулы были готовы - перешли к компонентам новой дизайн-системы. И все компоненты уже полностью на SwiftUI.
За это время вся команда получила практический опыт. Когда дошли до компонентов - разработчики уже понимали SwiftUI. А это важно, потому что компоненты ДС у нас пишут не отдельные люди, а вся команда вместе.
Про то как организовали сам процесс разработки компонентов - подробно написал Серёга у себя в канале.
  • 🔥 10
More from @technolexa
  1. Nov 18, 2025BlurHash Опенсорсный алгоритм от Wolt, который умеет из картинки сгенерировать строчку тек…
  2. Jul 2, 2025Логи Xcode В Xcode 16 появилась возможность вот так удобно: 1) Скрывать логи всего, что не…
  3. May 9, 2025Для комментов А то у поста выше нет возможности оставлять комменты
  4. Apr 6, 2025Ускорение билда на 25% Самая долгая часть при билде приложения пиццы — это компиляция ассе…
  5. Apr 2, 2025Channel photo updated
  6. Apr 2, 2025Channel created
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →