Откровенно страшно было читать тезисы в статье, т.к. сам регулярно занимаюсь разработкой непосредственно UI и прошёл через разные стадии использования всевозможных паттернов и технологий.
1. Избавляемся от стилей.
Вообще вы от них не избавляетесь, а просто выносите на уровень шаблона детальное описание этих самых стилей)
Читаемость? Очень сомнительно... Как показывает мой опыт сокращения со временем только повышают когнитивную нагрузку. Компактность? Да, возможно... за счёт тысяч сокращений и специфичного синтаксиса, которые ещё нужно изучить.
2. Соблюдаем единую стилизацию
Я понимаю что раньше в CSS не было Custom properties и мы все изгалялись как могли, но не в 2025 году же... Сейчас с их помощью можно полностью параметризировать практически всё. В рекламе/статье о Chakra вы могли бы о них хотя бы вспомнить.
3. Встроенная поддержка доступности
Как ни странно, но далеко не всегда это преимущество: бездумное использование заготовок приведёт к ещё большим проблемам доступности, если бы их вовсе не было. Да и некоторые компоненты в различных китах зачастую не дают переопределить важные атрибуты, считая что им виднее.
4. Создаём адаптивный интерфейс
Кажется в первом пункте шла речь о компактности и читаемости... Но на этом пункте она видимо вышла из чата)
Вы боитесь написать больше кода в CSS в угоду компактности? Или отсутствие явных указателей на брейкпоинты это теперь понятность и читаемость? В вашем же примере с CSS всё считывается на раз, не нужны "тайные" знания о брейкпоинтах и не обязательно прописывать одно и тоже значение на каждом из них. Если хочется стандартизации с прицелом на будущее - то возьмите плагин для postcss позволяющий использовать custom properties в media выражениях. Ну или препроцессор в конце концов...
5. Оптимизируем производительность
Tree Shaking и импорт только нужных компонентов - первое заявление с которым согласен: далеко не каждый кит умеет в правильный экспорт "по частям".
Ленивая загрузка стилей - взаимосвязано с первым, но не всегда.
Преимущество перед традиционными подходами - откровенно надуманное сравнение из 2010х. В реальных проектах такого уже давно не видел, может только у зелёных вкатунов.
P.S. пару месяцев назад пытался присмотреться к Chakra, когда выбирал кит для нового проекта, но как раз то о чём написал выше оттолкнуло. Лучше уж посмотреть в сторону shadcn или hero ui если у вас React.
Вы смешиваете в одну кучу зачем-то ещё и вопросы относящиеся к использованию фреймворков. Зачем? То что в React есть своя "модная" кухня для работы со стилями это понятно, но никто не мешает его сконфигурирован под то что вам нужно, хоть БЭМ, хоть CSS-in-JS.
Про долгую поддержку и развитие проектов: любой проект в какой-то момент достигает потолка гибкости своей архитектуры. Вопрос лишь в том что делать с этим в дальнейшем.
Задели за больное, поэтому не могу пройти мимо...
Откровенно страшно было читать тезисы в статье, т.к. сам регулярно занимаюсь разработкой непосредственно UI и прошёл через разные стадии использования всевозможных паттернов и технологий.
1. Избавляемся от стилей.
Вообще вы от них не избавляетесь, а просто выносите на уровень шаблона детальное описание этих самых стилей)
Читаемость? Очень сомнительно... Как показывает мой опыт сокращения со временем только повышают когнитивную нагрузку. Компактность? Да, возможно... за счёт тысяч сокращений и специфичного синтаксиса, которые ещё нужно изучить.
2. Соблюдаем единую стилизацию
Я понимаю что раньше в CSS не было Custom properties и мы все изгалялись как могли, но не в 2025 году же... Сейчас с их помощью можно полностью параметризировать практически всё. В рекламе/статье о Chakra вы могли бы о них хотя бы вспомнить.
3. Встроенная поддержка доступности
Как ни странно, но далеко не всегда это преимущество: бездумное использование заготовок приведёт к ещё большим проблемам доступности, если бы их вовсе не было. Да и некоторые компоненты в различных китах зачастую не дают переопределить важные атрибуты, считая что им виднее.
4. Создаём адаптивный интерфейс
Кажется в первом пункте шла речь о компактности и читаемости... Но на этом пункте она видимо вышла из чата)
Вы боитесь написать больше кода в CSS в угоду компактности? Или отсутствие явных указателей на брейкпоинты это теперь понятность и читаемость? В вашем же примере с CSS всё считывается на раз, не нужны "тайные" знания о брейкпоинтах и не обязательно прописывать одно и тоже значение на каждом из них. Если хочется стандартизации с прицелом на будущее - то возьмите плагин для postcss позволяющий использовать custom properties в media выражениях. Ну или препроцессор в конце концов...
5. Оптимизируем производительность
Tree Shaking и импорт только нужных компонентов - первое заявление с которым согласен: далеко не каждый кит умеет в правильный экспорт "по частям".
Ленивая загрузка стилей - взаимосвязано с первым, но не всегда.
Преимущество перед традиционными подходами - откровенно надуманное сравнение из 2010х. В реальных проектах такого уже давно не видел, может только у зелёных вкатунов.
P.S. пару месяцев назад пытался присмотреться к Chakra, когда выбирал кит для нового проекта, но как раз то о чём написал выше оттолкнуло. Лучше уж посмотреть в сторону shadcn или hero ui если у вас React.
Вы смешиваете в одну кучу зачем-то ещё и вопросы относящиеся к использованию фреймворков. Зачем? То что в React есть своя "модная" кухня для работы со стилями это понятно, но никто не мешает его сконфигурирован под то что вам нужно, хоть БЭМ, хоть CSS-in-JS.
Про долгую поддержку и развитие проектов: любой проект в какой-то момент достигает потолка гибкости своей архитектуры. Вопрос лишь в том что делать с этим в дальнейшем.