Atomic Design — не строгое правило, а удобная метафора. Не все компоненты идеально ложатся на пять уровней, и это нормально.
Уровни
- Атомы — самые маленькие элементы: кнопки, поля ввода, иконки, подписи.
- Молекулы — простые сочетания атомов: поле ввода, подпись к нему и сообщение об ошибке.
- Организмы — заметные части интерфейса: шапка сайта, форма регистрации, карточка товара.
- Шаблоны — структура страницы без конкретного контента.
- Страницы — те же шаблоны с реальными данными.
Что даёт
- Понятный язык для обсуждения дизайн-системы.
- Помогает увидеть переиспользование: один атом — в десятке организмов.
- Хорошо ложится на компонентную архитектуру фронтенда.
- При запуске или большом обновлении дизайн-системы
- В обучении команды тому, как мыслить о компонентах
- В компаниях с несколькими продуктами на общей базе
- Не нужно строго делить каждый компонент по уровням — это часто превращается в формализм. Atomic Design полезен как способ мышления, а не как догма
В команде шёл бесконечный спор: «это уже компонент или ещё нет». После введения языка Atomic Design стало понятнее: «новое поле с проверкой ввода» — это молекула, и её точно стоит вынести в систему. А «секция гостей на главной» — это организм, который пока используется в одном месте, и его можно оставить кодом страницы. Договорённость заметно ускорила работу.
Не воспринимайте Atomic Design буквально. Реальные дизайн-системы часто используют свои термины — примитивы, компоненты, блоки, макеты. Главное, чтобы у команды был общий язык для обсуждения уровней повторного использования; конкретные слова важны меньше.