С какими UI китами работали кроме собственной библиотеки компонентов?
Что проверяют
Выбирали ли вы библиотеку осознанно или взяли ту, что попалась под руку. За вопросом обычно стоит боль команды: свой набор компонентов дорого поддерживать, а чужой тянет собственные правила вёрстки и темизации.
Как отвечать
Назовите то, с чем работали, и сразу разложите по типам, это важнее длины списка:
- готовые наборы с собственным видом: Material UI, Ant Design, Mantine, Bootstrap. Дают скорость на старте, но навязывают свой дизайн-язык;
- примитивы без оформления: Radix, Headless UI, React Aria. Берут на себя доступность, фокус, клавиатуру и позиционирование, а внешний вид полностью ваш;
- наборы, которые копируются в проект исходниками и дальше живут как ваш собственный код.
Дальше критерии выбора: получится ли перекрасить и перестроить компонент без войны со специфичностью, доступность из коробки, вес и отсечение неиспользуемого кода при сборке, совместимость с серверным рендерингом, локализация, зрелость форм и таблиц, живость репозитория. Сильный вывод про стыковку со своей дизайн-системой: переменные темы против жёстко зашитых значений решают, натянется ли фирменный стиль вообще.
Где спотыкаются
Выбирают по витрине компонентов. Красивая демонстрация ничего не говорит про доступность, управление фокусом и про то, можно ли заменить разметку внутри компонента.
Вторая ошибка: перебивать чужие стили силой. Каскад из перекрытий ломается на следующем обновлении библиотеки, тогда как штатная темизация переживает его спокойно.
Третья: тянуть два набора сразу. В проекте появляются две сетки, два вида кнопок и два способа задать отступ, вес сборки растёт, а пользователь не получает ничего.