@FranklinBeNJ

Есть ли смысл делать анимацию без JS?

В чем различие создания анимации на html + css без js, с помощью сайта webcode.tools к примеру, и с JS. Я еще Javascript не изучал, но хочу узнать насколько с JS лучше, какие есть тонкости? Слышал что лучше делать на CSS если есть возможность ибо это облегчает код, а еще слышал что на JS вроде правильнее или удобней, в общем хочу ответ от опытного человека услышать об этих моментах
  • Вопрос задан
  • 744 просмотра
Решения вопроса 1
neuotq
@neuotq
Прокрастинация
Анимация = анимации рознь.

Конкретный ответ со списком вы тут не увидите, это будет большая статья, со множественными "а вот тут", "но здесь" просто потому что многое зависит от контекста, задач, планирование.
Главные рекомендации это не делать на js то, что отлично реализуется с помощью css. Этим к сожалению часто болеют многие фронтендеры, особенно из тех кто принципиально не любит вёрстку. Банальные примеры некоторые виды трансформаций объектов при булевых сменах какого параметра(условно навел/убрал наведения, вкл-выкл и тп).

Но нужно иметь ввиду, что там где у вас выходит сложная логика, разные усложнённые сценарии, динамические параметры запуска и тп и тд. Без js естественно никуда.

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

В целом информации на эту тему достаточно в интернете, мудрить здесь особо не стоит. Поэтому повторюсь: просто здравый смысл и держать в уме знание css и не брезговать его использовать. Нередко кстати сами верстальщики уже готовят эти анимации, но это уже отдельный разговор организации команд и внутрипроектной кухни. Я сторонник того что фронтэндер, пусть и не обязан прям верстать верстать, но знать вёрстку/css должен на очень хорошем уровне.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Да, браузеры смогут оптимизировать анимацию средствами CSS и решать, с какой частотой её воспроизводить, в целях экономии ресурсов и батареи.

При декларативном подходе (CSS) мы говорим браузеру, что именно сделать, а он уже сам решит, как именно сделать это оптимально для себя и для устройства, на котором он работает. При императивном подходе (JS) мы контролируем каждый шаг и не даём свободы, браузер вынужден делать то, что автор скрипта скажет, даже если ту же самую задачу он может решить лучше и оптимальнее него.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы