Tailwind CSS 4 представляет собой самое масштабное обновление фреймворка за всю его историю. Команда Tailwind Labs полностью переписала движок, внедрила нативную поддержку CSS-переменных и упростила конфигурацию. Разбираемся, что изменилось и как это повлияет на вашу разработку.
Новый движок Oxide на Rust
Главное изменение в Tailwind CSS 4 — полная переработка ядра фреймворка. Новый движок Oxide, написанный на Rust, обеспечивает невероятный прирост производительности:
- До 5× быстрее компиляция CSS
- Мгновенная пересборка в режиме разработки (часто < 10ms)
- Меньшее потребление памяти при работе с большими проектами
На реальных проектах время полной пересборки сократилось с 300-400ms до 50-80ms. Это особенно заметно в крупных монорепозиториях.
Переход на Rust позволил не только ускорить работу, но и заложить фундамент для будущих возможностей, которые были бы невозможны с JavaScript-движком.
Конфигурация через CSS
Одно из самых революционных изменений — отказ от JavaScript-конфигурации в пользу нативного CSS. Теперь вместо tailwind.config.js вы настраиваете фреймворк прямо в CSS-файле:
Раньше (Tailwind v3):
// tailwind.config.js
module.exports = {
theme: {
extend: {
colors: {
brand: "#7e102e",
},
spacing: {
128: "32rem",
},
},
},
};Теперь (Tailwind v4):
@import "tailwindcss";
@theme {
--color-brand: #7e102e;
--spacing-128: 32rem;
--font-sans: Inter, system-ui, sans-serif;
}Преимущества нового подхода:
- Меньше файлов — всё в одном месте
- Нативный CSS — работает с любыми инструментами
- Лучше для производительности — не нужно парсить JS
- Проще для новичков — привычный CSS-синтаксис
Нативные CSS-переменные
Tailwind 4 генерирует настоящие CSS-переменные вместо статических значений. Это открывает массу возможностей:
/* Tailwind 4 генерирует */
.bg-brand {
background-color: var(--color-brand);
}
.text-brand {
color: var(--color-brand);
}Динамические темы из коробки
Теперь переключение тем стало тривиальной задачей:
@theme {
--color-primary: #3b82f6;
--color-background: white;
}
@media (prefers-color-scheme: dark) {
@theme {
--color-primary: #60a5fa;
--color-background: #1a1a1a;
}
}
/* Или через data-атрибуты */
[data-theme="dark"] {
@theme {
--color-primary: #60a5fa;
--color-background: #1a1a1a;
}
}Это именно то, как настроен текущий сайт potapov.me — используем @theme
блоки и data-theme атрибут для переключения тем.
Динамические значения в рантайме
CSS-переменные позволяют изменять стили динамически через JavaScript:
// Меняем цвет бренда на лету
document.documentElement.style.setProperty("--color-brand", "#ff0000");Упрощенная структура проекта
В Tailwind 4 значительно упростилась инициализация проекта:
# Установка
npm install tailwindcss@next
# Всё, что нужно в CSS
@import "tailwindcss";
@theme {
/* Ваши настройки */
}Больше не нужно:
- ✅
postcss.config.js(встроенная поддержка) - ✅
tailwind.config.js(конфигурация в CSS) - ✅ Отдельные плагины для базовых функций
Улучшения в утилитах
Автоматические контейнерные запросы
Встроенная поддержка container queries без плагинов:
<div class="@container">
<div class="@md:text-lg @lg:text-xl">
Размер шрифта зависит от размера контейнера, а не viewport
</div>
</div>Новые цветовые функции
Поддержка современных CSS-функций:
@theme {
--color-primary: oklch(0.5 0.2 250);
--color-accent: color-mix(in oklch, var(--color-primary) 80%, white);
}<div class="bg-primary/50">
<!-- Прозрачность работает с любыми цветовыми пространствами -->
</div>Улучшенные градиенты
Более интуитивный синтаксис для градиентов:
<div class="bg-gradient-to-r from-blue-500 via-purple-500 to-pink-500">
Красивый градиент
</div>Миграция с Tailwind 3
Tailwind Labs предоставляют инструмент автоматической миграции:
npx @tailwindcss/upgradeОсновные изменения при миграции:
1. Обновление конфигурации
// Старый tailwind.config.js
module.exports = {
theme: {
extend: {
colors: {
primary: "#7e102e",
},
},
},
};Превращается в:
/* styles/globals.css */
@theme {
--color-primary: #7e102e;
}2. Изменения в синтаксисе
Некоторые утилиты переименованы для большей согласованности:
flex-shrink-0→shrink-0flex-grow→growdecoration-clone→box-decoration-clone
3. Удаленные классы
Некоторые редко используемые утилиты удалены:
<!-- Было -->
<div class="blur-sm filter">...</div>
<!-- Стало -->
<div class="blur-sm">...</div>Производительность на практике
Реальные метрики с production-проектов:
| Метрика | Tailwind 3 | Tailwind 4 | Улучшение |
|---|---|---|---|
| Initial build | 2.4s | 0.5s | 4.8× быстрее |
| Rebuild (dev) | 380ms | 12ms | 31× быстрее |
| CSS size | 8.2 KB | 7.8 KB | 5% меньше |
| Memory usage | 180 MB | 95 MB | 47% меньше |
На монорепозитории с 50+ приложениями время холодного старта сократилось с 8 секунд до 1.2 секунды.
Совместимость с экосистемой
Tailwind 4 работает с популярными фреймворками:
Next.js
// next.config.js
module.exports = {
experimental: {
optimizeCss: true, // Используется Oxide
},
};Vite
// vite.config.js
import tailwindcss from "@tailwindcss/vite";
export default {
plugins: [tailwindcss()],
};Astro, Remix, SvelteKit
Встроенная поддержка через PostCSS или нативные плагины для каждого фреймворка.
Что это значит для ваших проектов
Преимущества перехода на v4:
- Значительный прирост скорости разработки за счёт мгновенной пересборки
- Упрощенная настройка без необходимости разбираться в JavaScript-конфигах
- Нативные темы работают быстрее и проще в поддержке
- Меньше зависимостей — многие плагины теперь встроены
- Будущее фреймворка — Oxide позволит добавлять функции, невозможные в JS
Когда стоит мигрировать:
- ✅ Новые проекты — начинайте сразу с v4
- ✅ Активная разработка — миграция окупится ускорением
- ⚠️ Legacy проекты — можно подождать стабильного релиза
- ⚠️ Сложные кастомные плагины — проверьте совместимость
Заключение
Tailwind CSS 4 — это не просто апдейт, а переосмысление того, как должен работать utility-first фреймворк. Переход на Rust, нативные CSS-переменные и упрощенная конфигурация делают его быстрее, проще и мощнее.
Ключевые выводы:
- Oxide-движок обеспечивает беспрецедентную скорость
- Конфигурация через CSS проще и естественнее
- CSS-переменные открывают новые возможности для тем
- Миграция с v3 автоматизирована и безболезненна
- Производительность улучшилась в разы
Если вы используете Tailwind в своих проектах, v4 заслуживает вашего внимания. Начните с нового pet-проекта, чтобы оценить все преимущества, а затем планируйте миграцию основных приложений.
Полезные ресурсы: - Официальная документация Tailwind CSS 4 - Руководство по миграции - Oxide Engine на GitHub
Используете Tailwind в проектах? Поделитесь опытом миграции на v4 или задайте вопросы — напишите мне.

