Какие библиотеки для анимаций вы знаете и использовали в проектах
Что проверяют
Хотят понять, работали ли вы с анимациями глубже UIView.animate и умеете ли выбирать между системными средствами и сторонними библиотеками. Следом почти всегда спрашивают про производительность: почему анимация дёргается и как это найти.
Как отвечать
Стройте ответ на собственном опыте: называйте то, что делали сами, с задачей и результатом. Каркас такой:
UIView.animateиUIViewPropertyAnimator: базовые анимации свойств. Аниматор с iOS 10 можно ставить на паузу, разворачивать и привязывать к жесту, на нём строят интерактивные переходы;- Core Animation:
CABasicAnimation,CAKeyframeAnimation,CASpringAnimationна уровнеCALayer. Нужна для анимации пути,strokeEnd, теней и масок; - UIKit Dynamics:
UIDynamicAnimatorс гравитацией и столкновениями, для физики; - SwiftUI:
withAnimation, пружины.spring,matchedGeometryEffect, а с iOS 17PhaseAnimatorиKeyframeAnimatorдля многошаговых анимаций; - переходы:
UIViewControllerAnimatedTransitioningдля своих переходов между экранами, с iOS 18 системный zoom-переход; - Lottie: проигрывает анимации дизайнеров из After Effects, экспортированные в JSON. Удобно для онбординга и пустых состояний;
- Rive: анимации со state machine, которые реагируют на ввод и состояние.
Сторонние Hero и Spring встречаются в старых проектах, но почти не развиваются, их задачи закрывают системные API.
Про производительность скажите, что искали: закадровый рендеринг из-за теней без shadowPath и масок, тяжёлую работу на главном потоке, пропуски кадров в шаблоне Animation Hitches в Instruments.
Если сторонних библиотек в проектах не было, так и скажите и подробнее расскажите о системных средствах: это честнее и полезнее списка названий.
Где спотыкаются
Перечисляют библиотеки без единого примера, где и зачем их применяли. Интервьюер спросит про детали, и ответ развалится.
Не знают, что CABasicAnimation меняет только презентационный слой: если не обновить модельное значение, после окончания анимации свойство вернётся назад.
Тянут Lottie ради пары простых эффектов, которые делаются десятью строками на UIViewPropertyAnimator.