Ответ
Использовал TypeScript, React и Next.js для генерации UI-компонентов. Также применял GraphQL Codegen для автоматической генерации типов и хуков на основе схемы API.
Для стилей использовал CSS-in-JS (Emotion/Styled Components) или Tailwind CSS с плагинами, например:
// Пример с GraphQL Codegen
const { data } = useGetUserQuery({ variables: { id: '123' } });
Иногда подключал Plop.js для шаблонов компонентов, чтобы ускорить разработку.
Ответ 18+ 🔞
А, ну ты смотри, какой продвинутый! Сидишь, значит, на проекте, и тебе надо всё по-взрослому, с модными штуками.
Ну, ясен пиздец, без TypeScript сейчас — это как без штанов на людях. Всё время думаешь: "А вдруг где-то опечатка, и всё наебнётся в рантайме?" А он тебе сразу в редакторе красным подчеркнёт, мол, "чувак, ты ебанулся, тут string, а ты number суёшь". Спасатель, блядь.
А React с Next.js — это вообще связка, от которой охуеть можно. Один раз настроил роутинг, серверный рендеринг, хуки всякие — и плывёшь, как сыр в масле. UI компоненты штампуешь, будто горячие пирожки.
Но самый кайф, я тебе скажу, это когда подключаешь GraphQL Codegen. Вот это, сука, магия! Написал схему API, запустил команду — и он тебе, как по волшебству, нагенерирует все типы и готовые хуки. Сидишь и не ебешь мозг, как там этот запрос называется и что он возвращает. Просто берёшь и используешь:
// Всё уже есть, нихуя не надо выдумывать
const { data, loading } = useGetUserQuery({ variables: { id: '123' } });
if (loading) return <div>Грузимся, блядь...</div>;
return <div>Привет, {data?.user.name}!</div>;
Красота, ёпта! Руки не отпадают от постоянного написания однотипного кода.
А чтобы совсем не облениться, иногда подключал Plop.js. Это такая хуйня, которая по твоим шаблонам новые файлы создаёт. Нажал пару команд в терминале — и тебе уже заготовка компонента с пропсами, стилями и экспортом готова. Экономия времени — просто пиздец!
Со стилями тоже не парился особо. Либо Emotion/Styled Components — когда хочется, чтобы стили были прям в компоненте, и всё в одном месте. Либо Tailwind CSS — когда надо быстро набросать интерфейс, не отрывая жопу от стула. Подключил к нему пару плагинов для кастомных утилит — и вообще красота.
В общем, технологический стек — как хорошо собранный пазл. Когда всё на своих местах, работа идёт, а не стоит. Главное — не переборщить с новомодными библиотеками, а то можно так закопаться в настройках, что до самого проекта руки так и не дойдут. Проверено, блядь, на собственном опыте.