44 lines
2.0 KiB
Markdown
44 lines
2.0 KiB
Markdown
|
|
---
|
|||
|
|
title: Технологии и библиотеки
|
|||
|
|
scope: basics
|
|||
|
|
keywords: [стек, React, TypeScript, Next.js, Mantine, библиотека, зависимость]
|
|||
|
|
when: "Выбор библиотеки или технологии, проверка допустимости зависимости"
|
|||
|
|
---
|
|||
|
|
# Технологии и библиотеки
|
|||
|
|
|
|||
|
|
Этот раздел описывает базовый стек технологий и библиотек, принятый в проекте.
|
|||
|
|
|
|||
|
|
## Что используем
|
|||
|
|
|
|||
|
|
### Стек
|
|||
|
|
- `React` / `TypeScript` — основной стек для UI и приложения.
|
|||
|
|
- `Next.js` — для продуктовых сайтов.
|
|||
|
|
|
|||
|
|
### Архитектура
|
|||
|
|
- `SLM Design (Scoped Layered Module Design)` — модульная архитектура: слои, модули, направление зависимостей. Подробнее в разделе [Архитектура](/basics/architecture).
|
|||
|
|
|
|||
|
|
### UI компоненты
|
|||
|
|
- `Mantine UI` — базовые UI-компоненты.
|
|||
|
|
|
|||
|
|
### Работа с данными (API)
|
|||
|
|
- `@gromlab/api-codegen` — генерация API‑клиентов и типов.
|
|||
|
|
- `SWR` — получение, кеширование, ревалидация, дедубликация.
|
|||
|
|
- `SWR (useSWRSubscription)` — сокеты, реалтайм подписки.
|
|||
|
|
|
|||
|
|
### Store
|
|||
|
|
- `Zustand` — глобальное состояние.
|
|||
|
|
|
|||
|
|
### Локализация
|
|||
|
|
- `i18next (i18n)` — локализация всех пользовательских текстов.
|
|||
|
|
|
|||
|
|
### Тестирование
|
|||
|
|
- `Vitest` — тестирование.
|
|||
|
|
|
|||
|
|
### Стили
|
|||
|
|
- `PostCSS Modules` — изоляция стилей.
|
|||
|
|
- `Mobile First` — подход к адаптивной верстке.
|
|||
|
|
- `clsx` — конкатенация CSS‑классов.
|
|||
|
|
|
|||
|
|
### Генерация
|
|||
|
|
- `@gromlab/create` — шаблонизатор для создания слоёв и других файлов из шаблонов.
|