Обычно общими делают токены дизайна и поведение компонентов, а способ рендера выбирают отдельно для UIKit и SwiftUI. Полное отсутствие дублирования не самоцель.
Как дизайн-система работает между UIKit и SwiftUI — есть дублирование компонентов или обёртки?
Обычно общими делают токены дизайна и поведение компонентов, а способ рендера выбирают отдельно для UIKit и SwiftUI. Полное отсутствие дублирования не самоцель.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Обычно общими делают токены дизайна и поведение компонентов, а способ рендера выбирают отдельно для UIKit и SwiftUI. Полное отсутствие дублирования не самоцель.
Цвета, типографика, отступы, иконки и состояния должны иметь единый источник. Простые компоненты можно реализовать нативно дважды с одинаковым контрактом и визуальными проверками; сложные зрелые UIKit-элементы — обернуть через representable.
Учитывайте accessibility, Dynamic Type, темы, focus и жизненный цикл, а не только внешнее сходство. Обёртка экономит реализацию, но увеличивает связность с UIKit; две версии требуют контроля расхождений. На собеседовании опишите фактический баланс своего проекта.