javascript42
Главная
Все учебники
Блог
Учебник Solid.js
Введение в Solid.js
История создания и философия реактивности
Сравнение с React, Vue и другими фреймворками
Архитектурные принципы и отличия от Virtual DOM
Установка и настройка окружения разработки
Первое приложение на Solid.js
Инструменты разработчика и отладка
Основы реактивности в Solid.js
Концепция мелкогранулярной реактивности
Сигналы: создание и использование
Производные значения и вычисляемые состояния
Эффекты и побочные действия
Мемоизация и оптимизация вычислений
Владение ресурсами и управление жизненным циклом
Реактивный граф зависимостей
Пакетные обновления и транзакции
Компоненты и композиция
Функциональные компоненты в Solid.js
Свойства компонентов и их передача
Дочерние элементы и слоты
Компоненты высшего порядка
Динамические компоненты
Порталы и телепортация элементов
Рендеринг списков и ключи
Условный рендеринг
JSX в Solid.js
Синтаксис и особенности JSX
Отличия от React JSX
Компиляция JSX в нативные DOM-операции
Директивы и специальные атрибуты
Ref и прямой доступ к DOM
Пользовательские директивы
Spread-операторы и динамические атрибуты
Фрагменты и пустые узлы
Управление состоянием
Локальное состояние компонентов
Store: создание реактивных хранилищ
Вложенная реактивность в объектах
Иммутабельные обновления и мутации
Производные store
Интеграция с внешними хранилищами
Паттерны управления глобальным состоянием
Контекст и провайдеры
Контроль потока выполнения
Show: условный рендеринг с оптимизацией
For: эффективная отрисовка списков
Index: рендеринг с индексами
Switch и Match: множественные условия
Dynamic: динамическая загрузка компонентов
ErrorBoundary: обработка ошибок
Suspense: работа с асинхронными операциями
SuspenseList: координация загрузки
Жизненный цикл и эффекты
onMount: выполнение кода после монтирования
onCleanup: очистка ресурсов
createEffect: реактивные побочные эффекты
createRenderEffect: эффекты во время рендеринга
createComputed: синхронные вычисления
Порядок выполнения эффектов
Отслеживание зависимостей
Управление подписками
Работа с ресурсами
createResource: асинхронная загрузка данных
Состояния загрузки и ошибок
Рефетчинг и инвалидация
Мутации ресурсов
Параллельная загрузка
Оптимистичные обновления
Кэширование и персистентность
Интеграция с API
Маршрутизация
Solid Router: установка и конфигурация
Определение маршрутов
Навигация и ссылки
Динамические параметры маршрутов
Вложенные маршруты
Защищенные маршруты
Ленивая загрузка маршрутов
История и навигация
Хуки маршрутизации
Серверная маршрутизация
Формы и пользовательский ввод
Контролируемые и неконтролируемые компоненты
Обработка событий форм
Валидация данных
Библиотеки для работы с формами
Сложные формы и вложенные поля
Файловая загрузка
Автосохранение и черновики
Доступность форм
Стилизация компонентов
Inline-стили и динамические стили
CSS модули в Solid.js
CSS-in-JS решения
Tailwind CSS интеграция
Styled Components
Тематизация и темы
Анимации и переходы
Респонсивный дизайн
Производительность и оптимизация
Архитектура без Virtual DOM
Гранулярные обновления DOM
Профилирование приложений
Ленивая загрузка компонентов
Code splitting
Оптимизация bundle size
Мемоизация дорогих вычислений
Web Workers и параллелизм
Виртуализация списков
Серверный рендеринг
Концепция SSR в Solid.js
SolidStart: фреймворк для SSR
Изоморфный код
Гидратация клиента
Стриминговый SSR
Partial Hydration
Islands Architecture
SEO оптимизация
Метатеги и Open Graph
Статическая генерация сайтов
Static Site Generation концепция
Предварительный рендеринг страниц
Инкрементальная статическая регенерация
Динамические маршруты при SSG
Оптимизация статических ресурсов
Deployment статических сайтов
Гибридные подходы SSR/SSG
Тестирование приложений
Модульное тестирование компонентов
Тестирование реактивных примитивов
Solid Testing Library
Интеграционное тестирование
End-to-end тестирование
Моки и стабы
Тестирование асинхронного кода
Покрытие кода тестами
Снимочное тестирование
TypeScript в Solid.js
Настройка TypeScript окружения
Типизация компонентов
Типы для реактивных примитивов
Дженерики в компонентах
Типизация props и событий
Утилитарные типы
Строгая типизация store
Типобезопасность маршрутизации
Интеграция с внешними библиотеками
Использование сторонних библиотек
Web Components интеграция
Работа с D3.js
Интеграция карт и визуализаций
Библиотеки для работы с датами
HTTP клиенты и Fetch API
WebSocket соединения
GraphQL клиенты
Доступность и инклюзивность
Семантическая разметка
ARIA атрибуты и роли
Навигация с клавиатуры
Поддержка скринридеров
Цветовой контраст и читаемость
Адаптация для различных устройств
Интернационализация
Локализация приложений
Прогрессивные веб-приложения
Service Workers в Solid.js
Офлайн-режим работы
Кэширование стратегии
Push-уведомления
Установка PWA
Web App Manifest
Background Sync
Performance бюджеты
Безопасность приложений
XSS защита
CSRF токены
Content Security Policy
Безопасное хранение данных
Аутентификация и авторизация
JWT токены
OAuth интеграция
Защита API эндпоинтов
Санитизация пользовательского ввода
Архитектурные паттерны
Component-Driven Development
Атомарный дизайн
Feature-Sliced Design
Монорепозитории
Микрофронтенды
Module Federation
Слоистая архитектура
Чистая архитектура во фронтенде
Инструментарий и экосистема
Vite и современные сборщики
Babel плагины для Solid
ESLint конфигурации
Prettier и форматирование
Husky и Git hooks
Continuous Integration
Continuous Deployment
Мониторинг и аналитика
Работа с данными
Fetching стратегии
Кэширование данных
Нормализация данных
Оптимистичные UI обновления
Реалтайм синхронизация
WebRTC интеграция
Server-Sent Events
Pagination и бесконечная прокрутка
Состояние на стороне сервера
Server Functions
RPC подход
Server Actions
Мутации на сервере
Валидация на сервере
Сессии и куки
Database интеграция
ORM и Query Builders
Расширенные концепции реактивности
Реактивные коллекции
Производные реактивные структуры
Batch updates оптимизация
Untracked выполнение
Observer паттерн в Solid
Push vs Pull реактивность
Глюковые обновления и race conditions
Детерминированность реактивной системы
Кастомные примитивы
Создание собственных реактивных примитивов
Композиция существующих примитивов
Хуки и переиспользуемая логика
Реактивные утилиты
Библиотеки примитивов
Абстракции над DOM API
Reactive utilities паттерны
Анимации и визуальные эффекты
CSS переходы в реактивных компонентах
JavaScript анимации
Библиотеки анимаций
Motion и gesture библиотеки
SVG анимации
Canvas и WebGL интеграция
Choreography и оркестрация
Performance анимаций
Мобильная разработка
Адаптивность и мобильные устройства
Touch события
Capacitor интеграция
Ionic Framework с Solid
Нативные возможности через плагины
Производительность на мобильных
Тестирование на устройствах
Оптимизация bundle и дерево зависимостей
Tree shaking
Dead code elimination
Анализ размера бандла
Dynamic imports
Chunk splitting стратегии
Preload и prefetch
Module preloading
Dependency optimization
Отладка и диагностика
Solid DevTools
Реактивный граф визуализация
Трассировка обновлений
Профилирование производительности
Memory leaks обнаружение
Network debugging
Error tracking системы
Логирование и мониторинг
Миграция на Solid.js
Миграция с React
Миграция с Vue
Инкрементальная миграция
Стратегии совместимости
Рефакторинг компонентов
Миграция состояния
Тестирование после миграции
Производительность до и после
Компиляция и трансформации
Solid компилятор архитектура
JSX трансформации
Babel плагины и пресеты
Custom transformations
Source maps
Build-time оптимизации
Экспериментальные возможности
Concurrent rendering
Transitions API
Streaming SSR improvements
Partial hydration стратегии
Resumability концепции
Signal-based routing
Experimental APIs
Future proposals
Метапрограммирование и кодогенерация
Генерация компонентов
Template-based code generation
Макросы и compile-time execution
Schema-driven development
OpenAPI и type generation
GraphQL codegen
Automatic documentation
Интеграция с бэкендом
REST API взаимодействие
GraphQL интеграция
tRPC типобезопасность
gRPC-web клиенты
WebSocket протоколы
Server Actions интеграция
Полноценные full-stack приложения
Производственное развертывание
Стратегии деплоя
Cloudflare Workers
Vercel и Netlify
Self-hosted решения
Docker контейнеризация
Kubernetes оркестрация
CDN конфигурация
Мониторинг в production
Rollback стратегии
Документирование кода
JSDoc комментарии
Storybook интеграция
Живая документация
Component documentation
Architectural Decision Records