javascript42
Главная
Все учебники
Блог
Учебник Popmotion
Введение
Что такое Popmotion
История и философия библиотеки
Сравнение с другими анимационными библиотеками
Установка и подключение
Первая анимация
Основы анимации
Понятие анимации в вебе
Принципы плавности и производительности
Временные функции и интерполяция
Координация анимаций
Отмена и управление жизненным циклом
Ядро библиотеки
Структура и архитектура Popmotion
Реактивные потоки данных
Подписки и наблюдатели
Композиция анимаций
Цепочки преобразований
Функция animate
Синтаксис и базовое использование
Параметры конфигурации
Числовые значения
Цветовые значения
Сложные объекты
Массивы значений
Управление длительностью
Задержки и повторения
Easing функции
Встроенные функции плавности
Linear и stepped
Cubic Bezier
Пружинная физика
Затухание и инерция
Создание собственных easing функций
Комбинирование функций плавности
Spring анимации
Физическая модель пружины
Параметры жесткости
Параметры демпфирования
Масса объекта
Целевые значения
Настройка реалистичности
Пружины для различных сценариев
Inertia анимации
Концепция инерционного движения
Начальная скорость
Коэффициент трения
Границы движения
Отскок от границ
Применение для скроллинга
Применение для перетаскивания
Keyframes
Покадровая анимация
Определение ключевых кадров
Распределение времени между кадрами
Индивидуальные easing для сегментов
Циклические keyframes
Сложные последовательности
Трансформация значений
Interpolate для маппинга диапазонов
Clamp для ограничения значений
Pipe для композиции преобразований
Transform для единиц измерения
Округление и форматирование
CSS единицы и проценты
Анимация DOM элементов
Выборка элементов
Стили и трансформации
Атрибуты SVG
Scrolling элементов
Множественные свойства
Производительность DOM анимаций
Работа с SVG
Специфика SVG анимаций
Path анимации
Stroke dashoffset и dasharray
Морфинг фигур
Маски и клиппинг
Градиенты и паттерны
Анимация указателя
Отслеживание mouse событий
Touch события
Pointer events API
Velocity tracking
Перетаскивание элементов
Жесты и свайпы
Физические симуляции
Decay анимации
Momentum scrolling
Bouncing эффекты
Friction и сопротивление
Gravity симуляции
Комбинирование физических моделей
Продвинутая композиция
Параллельные анимации
Последовательные анимации
Stagger эффекты
Условные переходы
Динамические последовательности
Синхронизация независимых анимаций
Управление состоянием
State machines для анимаций
Переходы между состояниями
Прерывание анимаций
Очереди анимаций
Приоритеты выполнения
Timeline
Создание временных шкал
Контроль воспроизведения
Перемотка и паузы
Метки времени
Вложенные timeline
Синхронизация с внешними источниками
Интеграция с React
Хуки для анимаций
Компонентный подход
Управление lifecycle
Анимация списков
Условный рендеринг
Оптимизация ре-рендеров
Интеграция с Vue
Директивы для анимаций
Transition компоненты
Реактивность и анимации
Анимация динамических списков
Интеграция с другими фреймворками
Svelte
Универсальные паттерны
Производительность
RequestAnimationFrame
GPU ускорение
Will-change оптимизация
Throttling и debouncing
Профилирование анимаций
Обнаружение узких мест
Оптимизация для мобильных устройств
Адаптивные анимации
Media queries в анимациях
Viewport based анимации
Prefers-reduced-motion
Адаптация под производительность устройства
Прогрессивное улучшение
Паттерны проектирования
Переиспользуемые анимации
Фабрики анимаций
Декораторы
Миксины для анимаций
Конфигурационные объекты
Отладка и тестирование
Инструменты разработчика
Логирование анимаций
Визуализация временных линий
Unit тестирование
E2E тестирование анимаций
Снимки состояний
Продвинутые техники
Анимация шейдеров
Canvas интеграция
WebGL координация
Морфинг сложных путей
Процедурная генерация анимаций
Анимация на основе данных
Accessibility
Анимации для пользователей с ограниченными возможностями
Управление с клавиатуры
ARIA атрибуты
Семантика анимированных элементов
Альтернативы анимациям
Миграция и совместимость
Переход с других библиотек
Обратная совместимость
Полифиллы и поддержка браузеров
Graceful degradation
Feature detection
Расширение библиотеки
Создание плагинов
Кастомные анимационные движки
Интеграция сторонних утилит
API расширений
Публикация расширений
Лучшие практики
Организация кода анимаций
Именование и документирование
Модульность
Переиспользование
Code style
Типичные ошибки
Memory leaks
Race conditions
Блокировка главного потока
Избыточные анимации
Некорректная отмена
Проблемы с производительностью
Справочник API
Параметры и типы
Возвращаемые значения
Типизация TypeScript
Deprecated методы