← Ко всем open source проектам

anime.js

juliangarnier/anime

anime.js — JavaScript-движок анимации для CSS-свойств, SVG, DOM-элементов и временных шкал.

Форки 4,702
Автор juliangarnier
Язык JavaScript
Лицензия MIT
Обновлено 2026-06-11

Что это такое

anime.js — JavaScript-движок анимации для веб-интерфейсов. Он помогает анимировать CSS-свойства, SVG, DOM-элементы и строить временные шкалы без тяжелого фреймворка.

Репозиторий juliangarnier/anime существует на GitHub с 2016 года. Основной язык — JavaScript, лицензия MIT, официальный сайт — animejs.com.

Что внутри

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

Простая анимация

Пример показывает идею: выбрать элемент, задать transform/opacity и длительность.

Язык: JavaScript
anime({
  targets: ".card",
  translateY: [-12, 0],
  opacity: [0, 1],
  duration: 500,
  кривые изменения скорости: "easeOutQuad"
});

Где он полезен

anime.js полезен для лендингов, демонстраций, SVG-иллюстраций, микровзаимодействий и интерфейсов, где нужна управляемая анимация без крупной зависимости.

anime.js стал заметным потому, что дает простой способ управлять движением без тяжелой визуальной среды. Разработчик остается в обычном JavaScript, но получает последовательности, параметры времени, работу с SVG и контроль над несколькими элементами сразу.

Для интерфейса это полезно в точечных местах: показать изменение состояния, мягко раскрыть блок, связать иллюстрацию с действием пользователя, оживить демонстрацию. Хорошая анимация объясняет происходящее, а не просто украшает экран.

Ограничение у таких библиотек не техническое, а дизайнерское. Если анимация мешает чтению, нагружает слабое устройство или не учитывает предпочтение пользователя уменьшить движение, она ухудшает продукт. Поэтому anime.js лучше использовать как точный инструмент, а не как повод двигать все подряд.

Детали проекта

anime.js удобен, когда нужна управляемая анимация без тяжелого визуального редактора. Разработчик описывает движение в коде: какие элементы меняются, за какое время, с какой кривой скорости и в какой последовательности.

Библиотека работает с привычными объектами веба: DOM-элементами, CSS-свойствами, SVG и временными шкалами. Это делает ее полезной для интерфейсов, где движение связано с состоянием страницы, а не является отдельным видеороликом.

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

Хороший пример использования — не “анимировать все”, а подчеркнуть изменение: карточка раскрылась, SVG-схема показала путь, кнопка подтвердила действие, список перестроился. В этих случаях анимация помогает пользователю понять, что произошло.

Ограничение anime.js такое же, как у любой анимационной библиотеки: ответственность за вкус и доступность лежит на авторе. Нужно помнить о производительности, слабых устройствах, предпочтении reduced motion и том, что текст всегда важнее декоративного движения.

Сильные стороны и ограничения

Сильная сторона — лаконичный API и гибкость. Ограничение — анимация должна служить интерфейсу: слишком много движения ухудшает читаемость, производительность и доступность.