Впровадження Design Tokens для дизайн-системи веб-застосунку

У проєкті з 5 розробниками та 2 дизайнерами середовище — хаос. Один використовує `#1A73E8`, інший — `#1565C0`, а в Figma колір називається `Blue/600`. Темізація виливається в дублювання стилів — кожен новий дизайн вимагає переписування CSS. Команда витрачає до 20 годин на тиждень на узгодження кольо

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Впровадження Design Tokens для дизайн-системи веб-застосунку
Середній
~3-5 днів

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1318
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1015
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1276
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1019
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019

У проєкті з 5 розробниками та 2 дизайнерами середовище — хаос. Один використовує #1A73E8, інший — #1565C0, а в Figma колір називається Blue/600. Темізація виливається в дублювання стилів — кожен новий дизайн вимагає переписування CSS. Команда витрачає до 20 годин на тиждень на узгодження кольорів та відступів, що призводить до 100+ стильових багів на місяць. Рішення — впровадження Design Tokens: єдине джерело правди для кольору, відступів, типографіки, тіней та анімацій. Ми пройшли цей шлях у 30+ проєктах і знаємо, як уникнути граблів. Досвід показує, що з токенами швидкість змін зростає в 3 рази, а кількість багів падає на 70%.

Чому дизайн-токени — це не просто CSS-змінні?

Пряма заміна #1A73E8 на --color-primary — це змінна, не токен. Токен несе семантику: --color-action-primary-default, --color-action-primary-hover. Різниця принципова: при зміні фірмового кольору потрібно змінити одне значення в одному місці, а не шукати всі входження «основного синього» по кодовій базі. Без токенів команда з 5 осіб витрачає до 20% часу на стилізації: дизайнер змінює Blue/600 у Figma, розробник не знає, що це #1D4ED8 вже використовується в 12 місцях під різними hex-значеннями. Темізація вимагає дублювання стилів замість перемикання набору змінних. За даними Amazon Style Dictionary, токени скорочують overhead на 40%.

Як впровадити Design Tokens у дизайн-систему?

Впровадження починається з аудиту поточних стилів та Figma. Потім ми проєктуємо трирівневу модель токенів: primitive, semantic та component. Primitive токени зберігають сирі значення без контексту: color.blue.500: #3B82F6. Semantic токени прив'язують сенс: color.action.primary.default: {color.blue.500}. Component токени задають конкретні компоненти: button.background: {color.action.primary.default}. Це дозволяє змінювати дизайн глобально, змінюючи одне значення в примітивах, і робить темізацію простим перемиканням файлів.

Трирівнева модель вирішує проблему дублювання

Якщо потрібно змінити відтінок синього, змінюється лише primitive токен, і всі компоненти автоматично отримують новий колір. Без цієї моделі довелося б правити кожну кнопку, картку та посилання окремо. Це в 10 разів ефективніше за ручне оновлення CSS.

Проблема Рішення з токенами Результат
Різні значення одного кольору Централізоване зберігання Одна зміна для всіх
Труднощі темізації Семантичні токени для кожної теми Перемикання CSS-файлів
Невідповідність Figma та коду Двостороння синхронізація Єдине джерело правди

Інтеграція токенів з Figma

Використовуємо плагін Tokens Studio для двосторонньої синхронізації з GitHub. Робочий процес:

  1. Дизайнер змінює токен у Figma
  2. Плагін пушить зміну в гілку tokens/update-blue-palette
  3. CI запускає Style Dictionary, генерує CSS/JS
  4. PR з оновленими артефактами — код-рев'ю та merge

Налаштування Tailwind для токенів

У Tailwind 4 токени підключаються через директиву @theme:

@theme { --color-primary: var(--color-action-primary-default); --radius-button: var(--button-radius); } 

Версіонування токенів

Токени — частина кодової бази. Зберігаємо їх у монорепозиторії дизайн-системи та публікуємо як npm-пакет @company/[email protected]. Семантичне версіонування критичне: перейменування токена — breaking change (major), додавання — minor, виправлення значення — patch або minor залежно від контексту. Changelog пишемо читабельним для дизайнерів.

Приклад структури файлів токенів
tokens/ primitive/ color.json spacing.json typography.json semantic/ color.json spacing.json component/ button.json card.json 

Інструменти трансформації

Style Dictionary від Amazon — стандарт де-факто. Ось типова конфігурація:

// config.js module.exports = { source: ['tokens/**/*.json'], platforms: { css: { transformGroup: 'css', buildPath: 'dist/css/', files: [{ destination: 'tokens.css', format: 'css/variables', options: { outputReferences: true } }] }, js: { transformGroup: 'js', buildPath: 'dist/js/', files: [{ destination: 'tokens.js', format: 'javascript/es6' }] } } }; 

Запуск npx style-dictionary build --config config.js генерує CSS та JS. Output для CSS:

:root { --color-blue-500: #3B82F6; --color-action-primary-default: var(--color-blue-500); --button-background: var(--color-action-primary-default); } 

Темну тему можна додати окремим набором семантичних токенів і збирати в tokens-dark.css.

Етапи робіт

Етап Тривалість Результат
Аудит існуючих стилів та Figma 1–2 дні Звіт про невідповідності
Проєктування primitive та semantic токенів 2–3 дні JSON-схема токенів
Налаштування Style Dictionary та компіляція 2–3 дні CSS/JS/SCSS артефакти
Інтеграція в проєкт 2–4 дні Мерж-реквест з токенами
Інтеграція з Figma (опціонально) 3–5 днів Двостороння синхронізація

Що входить в роботу

Ми проводимо аудит поточних стилів та бібліотеки Figma, проєктуємо трирівневу схему токенів, налаштовуємо компіляцію через Style Dictionary та інтегруємо в код (CSS, JS, Tailwind). Готуємо документацію з використання токенів та навчаємо команду (1–2 години). На всі роботи діє гарантія 3 місяці на працездатність токенів.

Типові помилки при впровадженні: не змішуйте primitive та semantic токени в одному файлі; не використовуйте токени для значень, що не є дизайн-рішеннями (наприклад, z-index модалки); завжди додавайте fallback для старих браузерів; версіонуйте токени з SemVer.

Зв'яжіться з нами для попередньої оцінки вашого проєкту — ми визначимо терміни за 1 день. Отримайте консультацію інженера безкоштовно. Замовте впровадження дизайн-токенів і позбавте команду хаосу в стилях.