Технологии

Ant Design: готовые компоненты для React-интерфейсов

32 минАктуально на 26 августа 2026

Ant Design: готовые компоненты для React-интерфейсов

Скажем, ты собираешь внутренний инструмент для магазина: таблицу заказов, форму для нового товара, календарь поставок и боковое меню. Вручную верстать каждую кнопку, выпадающий список, фильтр, пагинацию и сообщение об ошибке — долго и неблагодарно. Вместо этого ИИ-ассистент может взять готовую библиотеку компонентов и собрать интерфейс из проверенных блоков, как конструктор. Одна из самых известных таких библиотек для React — Ant Design.

Ниже — чем Ant Design отличается от Material UI и shadcn/ui, в каких проектах выигрывает, какие компоненты используют чаще всего и как выглядит работа с ней через Claude Code.

Содержание
  1. Что такое Ant Design простыми словами
  2. Ключевые компоненты для бизнес-интерфейсов
  3. Чем Ant Design отличается от Material UI и shadcn/ui
  4. Когда выбирать именно Ant Design
  5. Когда лучше не брать Ant Design
  6. Как это выглядит на практике с ИИ-агентом
  7. Ant Design Pro: готовые страницы админки
  8. Пример: сборка страницы заказов с ИИ
  9. Как устроена тема в Ant Design
  10. Загрузка данных: откуда берутся строки в таблице
  11. Ant Design и Tailwind CSS
  12. Размер и производительность
  13. Типичные ошибки новичков
  14. Чек-лист перед запуском страницы
  15. Плюсы и минусы Ant Design
  16. Частые вопросы
  17. Заключение

Что такое Ant Design простыми словами

Ant Design — это библиотека готовых визуальных компонентов для React. Разработана в Alibaba и активно используется в корпоративных продуктах компании. Вместо того чтобы писать кнопку, таблицу или модальное окно с нуля, разработчик импортирует нужный элемент из пакета antd и настраивает его параметрами — пропсами.

Пропсы — это настройки компонента. Например, у таблицы можно указать источник данных, колонки, нужна ли сортировка, фильтры или пагинация. У формы — правила валидации и сообщения об ошибках. ИИ-агент понимает эти настройки на естественном языке и сам генерирует соответствующий код.

В библиотеку входят сотни компонентов. Самые востребованные:

  • Table — таблицы с сортировкой, фильтрацией, выделением строк, группировкой и пагинацией.
  • Form и поля ввода — формы с валидацией «из коробки».
  • DatePicker, TimePicker, Calendar — выбор дат и календари.
  • Select, Cascader, TreeSelect — выпадающие списки разной сложности.
  • Menu, Layout, Breadcrumb — навигация и скелет админ-панели.
  • Modal, Drawer, Popover — всплывающие окна и панели.
  • Statistic, Card, Descriptions — карточки данных и показатели.
  • Ant Design Icons — встроенный набор иконок.

Есть и более специализированная надстройка — Ant Design Pro. Это шаблоны готовых страниц и структура для административных панелей: дашборды, списки пользователей, формы авторизации, настройки профиля. Для новичка важно понимать разницу: сам Ant Design — это отдельные кирпичики, а Ant Design Pro — уже почти готовый дом из этих кирпичиков, который остаётся настроить под задачу.

Аналогия из жизни: Ant Design похож на набор мебели из ИКЕА. Ты не пилишь доски, а выбираешь готовые модули — шкаф, стол, полку — и собираешь их по инструкции. Внешний вид у мебели узнаваемый, но рабочий и проверенный.

Ключевые компоненты для бизнес-интерфейсов

Ant Design особенно силён в сценариях, где нужно работать с большим количеством данных. Вот несколько ключевых компонентов, которые чаще всего используют в админ-панелях и дашбордах.

Table

Компонент Table — одна из главных причин выбрать Ant Design. Он умеет:

  • сортировать данные по любой колонке;
  • фильтровать строки по заранее заданным значениям;
  • показывать пагинацию, если строк много;
  • выделять одну или несколько строк;
  • группировать данные и показывать вложенные таблицы;
  • добавлять чекбоксы для массовых действий.

В Material UI таблица тоже есть, но чтобы получить сортировку, фильтры и пагинацию сразу, приходится собирать несколько компонентов вручную. В Ant Design всё это работает через параметры.

Form

Компонент Form отвечает за формы. У него встроена валидация: можно указать, какие поля обязательны, какой формат данных допустим и какое сообщение показать при ошибке. Например, для email достаточно добавить правило { type: 'email' }, и библиотека сама проверит корректность адреса.

Также Form поддерживает динамические поля: когда значение одного поля влияет на другое. Это полезно, если выбор страны в адресе меняет список городов, или если статус заказа открывает дополнительные поля.

DatePicker и Calendar

DatePicker — это календарь для выбора одной даты или диапазона. Он поддерживает локализацию, запрет выбора определённых дней, предустановленные диапазоны и красивое отображение. Calendar показывает полноценный календарь событий, который удобен для расписаний и планирования.

Select, Cascader, TreeSelect

Select — стандартный выпадающий список. Cascader позволяет выбирать значения по иерархии: например, страна → регион → город. TreeSelect работает с древовидными структурами, например с категориями товаров или папками документов. Все три компонента поддерживают поиск, множественный выбор и отключённые пункты.

Modal и Drawer

Modal — это модальное окно поверх страницы. Drawer выезжает сбоку и удобен для форм редактирования или детальной информации. Оба компонента уже содержат анимацию, затемнение фона и управление фокусом, поэтому не нужно изобретать их с нуля.

Menu, Layout, Breadcrumb

Для сборки скелета админ-панели Ant Design предлагает Layout — шапку, боковое меню, подвал и контентную область. Menu рисует навигацию, включая вложенные пункты. Breadcrumb показывает «хлебные крошки», чтобы пользователь понимал, где находится.

Statistic, Card, Descriptions

Эти компоненты помогают строить дашборды. Statistic выводит число с подписью и динамикой. Card — карточка с рамкой и тенью. Descriptions — удобный способ показать пару «параметр — значение», например данные заказа или профиля пользователя.

Ant Design Icons

Иконки — неотъемлемая часть интерфейса. Ant Design поставляется со своим набором иконок, которые стилистически совместимы с компонентами. Не нужно искать сторонние наборы и подгонять их под внешний вид.

Чем Ant Design отличается от Material UI и shadcn/ui

У новичка часто возникает вопрос: раз есть несколько популярных библиотек, какую выбрать? Мы уже разбирали Material UI и shadcn/ui. Вот честное сравнение трёх подходов.

Критерий shadcn/ui Material UI Ant Design
Код компонента Копируется прямо в проект, полностью принадлежит тебе Поставляется как готовый npm-пакет Поставляется как готовый npm-пакет
Степень кастомизации Почти неограниченная: можно править исходный код компонента Высокая, но в рамках темы Material Design Высокая через ConfigProvider, но стиль легко узнаваем
Визуальный стиль Нейтральный, минималистичный, легко адаптируется под бренд Google Material Design: тени, анимации, «бумажные» слои Корпоративный, плотный, оптимизирован под админ-панели и дашборды
Сильные стороны Полный контроль, лёгкость, совместимость с Tailwind Большое сообщество, строгий единый язык дизайна Сложные таблицы, формы, календари, фильтры «из коробки»
Для каких задач лучше Лендинги, приложения с уникальным дизайном, стартапы Потребительские приложения, мобильные интерфейсы, Material-стиль Внутренние инструменты, CRM, ERP, аналитика, админки
Размер пакета Минимальный — берёшь только то, что нужно Средний, зависит от импортов Больше, особенно при полном импорте

shadcn/ui — это не классическая библиотека, а коллекция готовых фрагментов кода. Компонент лежит в твоём проекте, и ты можешь менять его как угодно. Плата за гибкость — нужно больше самому следить за совместимостью и обновлениями.

Material UI — проверенный гигант от Google. Если тебе нужен строгий Material Design, он работает безупречно. Но для сложных бизнес-таблиц и форм придётся комбинировать простые элементы или подключать дополнительные решения.

Ant Design изначально заточен под плотные бизнес-интерфейсы. В нём уже продуманы сценарии, которые в других библиотеках собираются вручную: таблица с фильтрами и экспортом, многошаговая форма, древовидный выбор категорий, календарь событий.

Когда выбирать именно Ant Design

Ant Design выигрывает в проектах, где важна не красота ради красоты, а скорость сборки сложных рабочих интерфейсов.

Выбирай Ant Design, если приложению нужно:

  • Админ-панель с боковым меню, хлебными крошками и множеством разделов.
  • Сложная таблица данных с сортировкой по столбцам, фильтрами, поиском, пагинацией, выделением строк и экспортом.
  • Многошаговая форма с валидацией полей, зависимыми полями и подтверждением перед отправкой.
  • Календарь или расписание бронирования, доставок, встреч.
  • Дашборд с карточками показателей, графиками и сводками.
  • Внутренний инструмент для команды, где удобство работы важнее уникального визуального стиля.

В Material UI тоже есть таблица и формы, но чтобы получить поведение, близкое к Ant Design, придётся больше писать собственной логики. В shadcn/ui компоненты ещё более «низкоуровневые»: их легко стилизовать, но за сложное поведение таблиц отвечаешь сам.

Важный нюанс: Ant Design — это прежде всего React. Существует Ant Design Vue для фреймворка Vue, но это отдельный проект, и набор компонентов может немного отличаться. В этой статье речь идёт об Ant Design для React.

Когда лучше не брать Ant Design

Несмотря на сильные стороны, Ant Design не всегда лучший выбор.

Не стоит использовать Ant Design, если:

  • Ты делаешь красивый лендинг или маркетинговый сайт, где важен уникальный визуальный стиль. Для этого проще Tailwind CSS или shadcn/ui.
  • Приложение должно выглядеть как нативный мобильный продукт. Для мобильных интерфейсов лучше подходят специализированные библиотеки.
  • Проект очень маленький: пара кнопок и одна форма. Подключать целую библиотеку ради двух элементов нерационально.
  • Критичен минимальный размер страницы и максимальная скорость загрузки. В таком случае shadcn/ui или чистый Tailwind дадут меньший вес.
  • Нужен полный контроль над кодом каждого компонента. В shadcn/ui компоненты лежат в проекте и принадлежат тебе, а в Ant Design они приходят из внешнего пакета.

Правильный выбор зависит от задачи, а не от моды. Ant Design — это инструмент для рабочих интерфейсов, а не для всех интерфейсов подряд.

Как это выглядит на практике с ИИ-агентом

Ты не обязан знать синтаксис React, чтобы получить рабочий интерфейс. Достаточно описать задачу Claude Code обычными словами. Вот типичный сценарий.

Шаг 1. Установка

ИИ-ассистент устанавливает пакет:

npm install antd

Шаг 2. Подключение темы

Ant Design использует центральный компонент ConfigProvider. В нём задаются цвета, скругления, типографика и размеры. Это позволяет менять внешний вид всего приложения без написания CSS вручную.

Например, можно задать основной цвет бренда:

import { ConfigProvider } from 'antd';

<ConfigProvider
  theme={{
    token: {
      colorPrimary: '#722ed1',
      borderRadius: 8,
    },
  }}
>
  <App />
</ConfigProvider>

Claude Code может настроить ConfigProvider по твоему запросу: «Сделай основной цвет фиолетовым, скругления углов 8 пикселей, шрифт Inter».

Шаг 3. Импорт компонентов

Ассистент импортирует нужные блоки. Например, для страницы заказов:

import { Table, Button, DatePicker, Space } from 'antd';

Шаг 4. Настройка таблицы

Ты говоришь: «Сделай таблицу заказов с колонками номер, клиент, статус, сумма, дата. Добавь сортировку по сумме и фильтр по статусу». ИИ генерирует код примерно такого вида:

const columns = [
  { title: 'Номер', dataIndex: 'id' },
  { title: 'Клиент', dataIndex: 'client' },
  {
    title: 'Статус',
    dataIndex: 'status',
    filters: [
      { text: 'Новый', value: 'new' },
      { text: 'Оплачен', value: 'paid' },
      { text: 'Отправлен', value: 'shipped' },
    ],
    onFilter: (value, record) => record.status === value,
  },
  {
    title: 'Сумма',
    dataIndex: 'amount',
    sorter: (a, b) => a.amount - b.amount,
  },
  { title: 'Дата', dataIndex: 'date' },
];

<Table dataSource={orders} columns={columns} />

Ты не пишешь этот код сам — Claude Code пишет его по твоему описанию. Твоя задача: проверить, что таблица выглядит так, как нужно, и дать обратную связь.

Шаг 5. Форма с валидацией

Добавить форму нового заказа можно запросом: «Сделай форму с полями имя клиента, email, телефон, адрес доставки и дата. Email обязателен и должен быть в правильном формате». Ant Design уже содержит готовые правила валидации, поэтому ИИ подключает их через параметры, а не изобретает велосипед.

<Form>
  <Form.Item
    label="Email"
    name="email"
    rules={[
      { required: true, message: 'Введите email' },
      { type: 'email', message: 'Некорректный email' },
    ]}
  >
    <Input />
  </Form.Item>
</Form>

Это не значит, что код пишется без твоего участия. Ты по-прежнему управляешь результатом через промпты, уточняешь детали и проверяешь интерфейс в браузере.

Ant Design Pro: готовые страницы админки

Ant Design Pro — это надстройка над обычным Ant Design. Если тебе нужна типичная админ-панель, она может сэкономить дни работы.

Что входит в Ant Design Pro:

  • готовый макет со шапкой, боковым меню и подвалом;
  • страница авторизации и регистрации;
  • дашборд с карточками и графиками;
  • списки пользователей, товаров или заказов;
  • формы профиля и настроек;
  • страницы результатов поиска и ошибок.

Вместо того чтобы собирать каждую страницу с нуля, Claude Code может взять Ant Design Pro как стартовый шаблон и адаптировать его под твои данные. Это особенно полезно, если проект только начинается и нужно быстро показать работающий прототип.

Однако у шаблонов есть обратная сторона: в них много готового кода, который может быть лишним для простого проекта. Если тебе не нужна полноценная админ-панель, а всего лишь одна таблица, лучше обойтись базовым Ant Design.

Пример: сборка страницы заказов с ИИ

Давай пройдём через реалистичный пример. Предположим, ты делаешь страницу «Заказы» для небольшого интернет-магазина.

Твой промпт: «Сделай страницу заказов. Сверху заголовок и кнопка „Новый заказ“. Под ними таблица с колонками: номер, клиент, статус, сумма, дата. Сортировка по дате, фильтр по статусу. При клике на строку открывается боковая панель с деталями заказа.»

Claude Code выполняет примерно такие действия:

  1. Устанавливает antd.
  2. Создаёт файл страницы и подключает Layout для общего макета.
  3. Добавляет Table с нужными колонками, сортировкой и фильтрами.
  4. Подключает Drawer, который открывается при клике на строку.
  5. Создаёт форму внутри Drawer для редактирования статуса заказа.
  6. Настраивает ConfigProvider, чтобы цвета соответствовали бренду.
  7. Запускает локальный сервер и показывает результат в браузере.

Ты смотришь на страницу и даёшь обратную связь: «Сделай сумму жирным шрифтом», «Добавь поиск по номеру заказа», «В боковой панели покажи список товаров». ИИ вносит правки, и через несколько итераций страница выглядит так, как нужно.

Такой подход называется вайбкодингом: ты не пишешь код сам, а управляешь процессом через чёткие запросы.

Как устроена тема в Ant Design

Тема в Ant Design строится на дизайн-токенах — переменных, которые управляют цветами, размерами, шрифтами и отступами. Основные токены задаются через ConfigProvider, и они автоматически применяются ко всем компонентам внутри.

Пример токенов:

  • colorPrimary — основной цвет кнопок, ссылок и акцентов.
  • colorSuccess, colorWarning, colorError — цвета статусов.
  • borderRadius — скругление углов.
  • fontSize — базовый размер шрифта.
  • controlHeight — высота полей ввода и кнопок.

Это удобно, потому что одно изменение токена меняет вид сразу всех кнопок, инпутов и ссылок. Тебе не нужно лезть в каждый компонент отдельно. Claude Code может настроить тему по словесному описанию: «Сделай интерфейс в тёмных тонах с зелёными акцентами и крупными кнопками».

Загрузка данных: откуда берутся строки в таблице

Важный момент для новичков: компонент Table сам по себе не хранит данные. Он получает их через параметр dataSource и отображает. Источником может быть:

  • массив, заданный прямо в коде;
  • ответ от сервера через API;
  • результат запроса к базе данных через бэкенд.

Если заказов много, фильтрацию и пагинацию можно делать двумя способами:

  • На клиенте — загрузить все данные разом, а Ant Design сам разберётся с сортировкой и страницами. Это работает для небольших списков.
  • На сервере — при каждой смене страницы или фильтра отправлять запрос на сервер и получать только нужную порцию данных. Это нужно для больших таблиц с тысячами строк.

Claude Code сам выберет подходящий вариант, если ты скажешь, сколько примерно данных будет в таблице.

Ant Design и Tailwind CSS

Ant Design можно использовать вместе с Tailwind CSS, но здесь есть нюанс. Обе библиотеки управляют стилями: Tailwind через утилитарные классы, Ant Design — через собственные CSS-in-JS стили. Иногда они могут конфликтовать: например, Tailwind сбрасывает отступы или шрифты, которые Ant Design ожидает увидеть по умолчанию.

Обычно ИИ-ассистент решает это одним из способов:

  • подключает плагин совместимости, если он есть в проекте;
  • настраивает ConfigProvider так, чтобы стили Ant Design не пересекались с глобальными сбросами Tailwind;
  • использует Tailwind для высокоуровневой раскладки страницы, а Ant Design — для конкретных компонентов внутри неё.

Принцип простой: пусть каждый инструмент отвечает за свою задачу. Tailwind помогает быстро выстроить сетку, отступы и адаптивность. Ant Design даёт готовые сложные элементы вроде таблиц и форм. Вместе они работают, если следить за приоритетом стилей.

Если в проекте возникает конфликт, Claude Code обычно видит его по тому, что кнопки или поля ввода выглядят «сломанными»: неправильные отступы, обрезанный текст, странные цвета. Достаточно сказать ассистенту: «Исправь конфликт стилей Ant Design и Tailwind», и он найдёт решение.

Размер и производительность

Один из частых вопросов новичков: не замедлит ли Ant Design приложение? Ответ зависит от того, как библиотека подключена.

Если импортировать только нужные компоненты:

import { Table, Button } from 'antd';

современные сборщики обычно умеют отсекать неиспользуемый код. Но иногда начинающие разработчики подключают Ant Design целиком:

import antd from 'antd';

Это резко увеличивает размер итогового файла. Claude Code при правильной настройке всегда импортирует только нужные компоненты.

Также можно использовать динамический импорт, чтобы загружать тяжёлые компоненты только тогда, когда они реально нужны:

import { lazy, Suspense } from 'react';

const Calendar = lazy(() => import('antd/es/calendar'));

Это особенно полезно для админ-панелей, которые не открываются каждым пользователем.

Если размер критичен, стоит сравнить Ant Design с более лёгкими альтернативами. Но для внутреннего инструмента, где важна функциональность, разумный импорт делает Ant Design вполне приемлемым по скорости.

Типичные ошибки новичков

При работе с Ant Design через ИИ-ассистента можно столкнуться с несколькими типичными ловушками.

Ошибка 1. Пытаться сделать уникальный дизайн с нуля.

Ant Design заточен под узнаваемый корпоративный стиль. Если цель — уникальный брендовый интерфейс, проще начать с shadcn/ui или чистого Tailwind.

Ошибка 2. Импортировать всю библиотеку целиком.

Полный импорт увеличивает размер приложения. Всегда импортируй только те компоненты, которые используются на странице.

Ошибка 3. Забывать про мобильную версию.

Ant Design хорош на десктопе, но на маленьких экранах таблицы могут требовать дополнительной адаптации. Уточняй у Claude Code, как страница будет выглядеть на телефоне.

Ошибка 4. Пытаться вместить слишком много колонок в таблицу.

Большое количество колонок делает таблицу нечитаемой. Лучше оставить только важные поля, а детали показывать в Drawer или Modal.

Ошибка 5. Игнорировать валидацию форм.

Ant Design даёт валидацию бесплатно. Не экономь на ней: указывай обязательные поля и форматы, чтобы пользователи не отправляли некорректные данные.

Чек-лист перед запуском страницы

Перед тем как считать страницу готовой, полезно пройтись по простому чек-листу:

  • Таблица корректно сортируется и фильтруется по нужным колонкам.
  • Формы проверяют обязательные поля и показывают понятные сообщения об ошибках.
  • Кнопки и ссылки ведут туда, куда задумано.
  • Страница нормально выглядит на десктопе и хотя бы приемлемо на мобильном экране.
  • Цвета и шрифты соответствуют бренду или выглядят аккуратно.
  • В консоли браузера нет красных ошибок.
  • Импорты ограничены используемыми компонентами, а не всей библиотекой.

Этот чек-лист помогает не упустить очевидные проблемы и сразу получить качественный результат.

Плюсы и минусы Ant Design

Как и любой инструмент, Ant Design хорош не везде.

Плюсы:

  • Богатый набор корпоративных компонентов из коробки.
  • Хорошо продуманные таблицы, формы, календари и навигация.
  • Готовые шаблоны Ant Design Pro для быстрого старта админ-панели.
  • Стабильная документация и большое сообщество.
  • Встроенная система тем через ConfigProvider.
  • Поддержка TypeScript.
  • Удобная интеграция с React и экосистемой сборщиков.

Минусы:

  • Визуальный стиль легко узнаваем. Если хочешь уникальный дизайн бренда, придётся серьёзно перекрашивать и перенастраивать компоненты. В shadcn/ui это проще, потому что код компонента твой.
  • Библиотека довольно тяжёлая, если импортировать её целиком. Важно настроить так называемый tree-shaking — автоматическое удаление неиспользуемых частей при сборке.
  • Для лендингов и простых страниц Ant Design может быть избыточным: проще и легче взять shadcn/ui или чистый Tailwind.
  • Некоторые компоненты имеют много настроек, и поначалу интерфейс может казаться перегруженным.

Частые вопросы

Ant Design бесплатный?

Да, основная библиотека Ant Design распространяется бесплатно под открытой лицензией MIT. Исходный код доступен на GitHub. Ant Design Pro — тоже открытый проект. Платить нужно только за хостинг, домен и другие внешние сервисы, если они используются в проекте.

Можно ли использовать Ant Design без знания React?

Технически нет: Ant Design — это библиотека именно для React. Однако в подходе вайбкодинга ты не пишешь код сам, а описываешь задачу ИИ-ассистенту. Базовое понимание структуры проекта и того, как работают компоненты, помогает, но писать React вручную необязательно.

В чём разница между Ant Design и Ant Design Pro?

Ant Design — набор отдельных UI-компонентов: кнопок, таблиц, форм. Ant Design Pro — это шаблоны и структура целых страниц на базе Ant Design, предназначенные для быстрого создания административных панелей. Если Ant Design — это кирпичи, то Ant Design Pro — уже готовые комнаты.

Ant Design подходит для мобильных приложений?

Ant Design ориентирован прежде всего на десктопные и планшетные бизнес-интерфейсы. Для мобильных приложений лучше подходят специализированные библиотеки, например Ant Design Mobile. Если мобильная версия сайта не требует сложных таблиц, можно ограничиться адаптивной вёрсткой через Tailwind.

Можно ли сильно изменить внешний вид Ant Design?

Можно, но это требует работы. Ant Design предоставляет ConfigProvider для настройки цветов, шрифтов, скруглений и размеров. Для глубоких изменений отдельных компонентов придётся переопределять стили. Если уникальный дизайн — ключевое требование проекта, shadcn/ui может оказаться удобнее, потому что ты владеешь исходным кодом каждого компонента.

Ant Design тяжёлый? Замедлит ли он сайт?

Если подключить всю библиотеку целиком, размер приложения заметно вырастет. На практике ИИ-ассистент настраивает импорт только нужных компонентов, а современные сборщики удаляют неиспользуемый код. Поэтому при правильной настройке Ant Design не становится узким местом. Если же проект маленький и лёгкость критична, стоит рассмотреть более компактные альтернативы.

Заключение

Ant Design — это мощный выбор для проектов, где нужны сложные бизнес-интерфейсы: админ-панели, CRM, дашборды, таблицы заказов и многошаговые формы. В отличие от shadcn/ui, код компонентов не копируется в проект, а поставляется готовым пакетом. В отличие от Material UI, акцент сделан не на потребительском Material-стиле, а на плотных корпоративных экранах.

Если ты собираешь внутренний инструмент и хочешь получить таблицы, фильтры, формы и календари быстро — попроси Claude Code подключить Ant Design. Библиотека возьмёт на себя рутину, а ты сможешь сосредоточиться на логике приложения и данных. А если проект требует уникального дизайна или состоит из пары простых экранов, посмотри на shadcn/ui или Tailwind CSS — они могут оказаться удобнее.

Читай дальше

Все статьи

Не просто статьи — тебя доведут до результата

В практикуме за 2499 ₽ рядом живая команда практикующих разработчиков и маркетологов: ведём по шагам до твоего работающего приложения. Не «ролики и сам разбирайся» — помогаем на каждом затыке.

Перейти к практикуму
Все статьи Ещё: технологии и архитектура