Створення Lottie-анімацій для екранів мобільного додатку

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Створення Lottie-анімацій для екранів мобільного додатку
Середній
~3-5 днів
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    858
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    743
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1160
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1034
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    968
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    562

Ми регулярно стикаємося з ситуацією: у клієнта є Figma-макет онбордингу з плавними рухами, але при спробі реалізувати анімацію через звичайний GIF розмір файлу злітає до мегабайт, а якість страждає на Retina-екранах. Рішення — Lottie-анімація на основі векторного JSON. Однак між статичною ілюстрацією та робочим .json-файлом, який однаково виглядає на iPhone SE та Samsung A03, лежить нетривіальна робота. Ми гарантуємо, що кожна анімація пройде оптимізацію та буде протестована на реальних пристроях. При правильному підході Lottie-анімація завантажується в 5 разів швидше, ніж APNG, та економить до 40% бюджету на розробку порівняно з відеороликами.

Lottie — формат векторної анімації від Airbnb, який стискає анімацію в JSON-файл розміром 5–50 КБ, у 10–100 разів менше еквівалентного GIF. Як сказано в офіційній документації, Lottie дозволяє відтворювати складні анімації з прозорістю та програмним керуванням. Він підтримує прозорість, програмне керування кольором та швидкістю, а також масштабується без втрат. Однак створення якісної Lottie-анімації потребує врахування безлічі технічних деталей.

Чому Lottie кращий за растрові формати?

Стандартні растрові формати (GIF, APNG, відеоролики) мають жорсткі обмеження: велика вага, пікселізація на екранах з високою щільністю пікселів, відсутність прозорості та складність інтеграції з анімаціями інтерфейсу. Lottie вирішує ці проблеми масштабованістю та малою вагою. Типовий .json файл займає 5–50 КБ проти 1–5 МБ для еквівалентної GIF-анімації. Векторна графіка масштабується без втрат, а кольори, швидкість та зациклювання можна змінювати прямо в коді додатку. Прозорість ідеальна для накладання на UI-елементи.

Формат Розмір файлу (типовий) Підтримка прозорості Масштабованість
Lottie (JSON) 5–50 КБ Так Векторна (без втрат)
GIF 500 КБ – 5 МБ Так Растрова (пікселізація)
MP4 50–500 КБ Ні Растрова (фікс.розширення)

Lottie перевершує GIF за розміром у 10–100 разів, а за якістю — не має пікселізації на будь-якому екрані.

Як правильно підготувати ілюстрацію для Lottie?

  1. Кожен анімований елемент — окремий іменований шар в Adobe Illustrator. Ієрархія шарів критична: background, character, character/head, character/hands, foreground.
  2. Усі шрифти конвертуються в криві (Create Outlines).
  3. Тіні створюються через окремі Shape Layers, а не через Drop Shadow.
  4. Градієнти — тільки Linear або Radial.

Імпортуємо AI-файл в After Effects з опцією Create Composition та Retain Layer Sizes. Ключові принципи анімації:

  • Timing: тривалість анімації онбордингу — 1,5–2,5 секунди.
  • Stagger: елементи з'являються із затримкою 0,1–0,15 с.
  • Easing: використовуємо Graph Editor для кривих — Ease In на старті, Ease Out в кінці.
  • Loop: для повторюваних анімацій (завантаження, idle) перший та останній кадр збігаються.

Приклад із практики: складний онбординг із 5 екранів

Одного разу клієнт попросив анімувати онбординг, де кожен екран містив рухомі елементи, пов'язані спільним сценарієм. Після експорту через Bodymovin JSON-файл важив 120 КБ — забагато для швидкого завантаження на повільних з'єднаннях. Ми провели ручну оптимізацію: перевели всі растрові шари у вектор, видалили зайві keyframes за допомогою Graph Editor, замінили складні маски на прості Shape Layers. У результаті розмір упав до 25 КБ, а анімація залишилася плавною на Android 6 та iOS 12. Цей кейс показав, що ретельна оптимізація після експорту обов'язкова.

Як оптимізувати JSON після експорту?

Після експорту через Bodymovin проженіть JSON через LottieFiles Optimizer (ми використовуємо її в CLI). Він видаляє надлишкові keyframes та округлює числа. Вручну перевірте refId assets: якщо є base64-зображення, замініть зовнішніми файлами або перемалюйте в Illustrator. Це типовий крок, який займає 15–20 хвилин та зменшує розмір ще на 30-40%.

Чому важливо тестувати анімацію на реальних пристроях?

На етапі тестування найчастіше виявляються проблеми, які не видно в After Effects:

  • Відмінності в рендерингу: градієнти можуть відображатися з іншим відтінком (через колірний профіль AE: Linear RGB vs sRGB). Виправляється налаштуваннями Color Management в проєкті AE.
  • Маски та трек матти: Luma Matte не підтримується — тільки Alpha Matte. Pre-compose з Track Matte часто ламається.
  • Продуктивність: складні маски з фігурами можуть викликати лаги на старих пристроях. Оптимізуємо кількість точок шляху.

Типові помилки при створенні Lottie

Помилка Причина Рішення
Елемент зникає в Lottie Track Matte з Luma Замінити на Alpha Matte
Gradient неправильного кольору Linear RGB vs sRGB Увімкнути Color Management в AE
Величезний JSON (100+ КБ) Растрові шари або зайві keyframes Оптимізувати через LottieFiles, перевести у вектор
Анімація смикається на Android Pingpong loop або неправильний easing Використовувати лінійний цикл, налаштовувати Graph Editor
Шрифти не відображаються Не конвертовані в криві Create Outlines перед імпортом

Кількість шарів (зазвичай 5–15 на онбординг), ключових кадрів та ефектів визначає складність. Для оцінки надішліть Figma-макет.

Що входить в роботу

Відзначимо: коли ви замовляєте Lottie-анімацію під ключ, ми надаємо:

  • Анімований JSON-файл, оптимізований для iOS та Android.
  • Вихідний проєкт After Effects (з можливістю правок).
  • Інтеграційний код для вбудовування (Swift, Kotlin, Flutter, React Native).
  • Інструкцію з налаштування швидкості та циклів.
  • Тестування на пристроях замовника (до 5 девайсів).
  • Безкоштовну правку протягом місяця.

Терміни та інвестиції

Терміни та бюджет залежать від складності. Для швидкої оцінки:

  • Проста анімація одного екрана (ілюстрація готова) — від 1 до 2 днів.
  • Комплексний онбординг із 3–5 екранів із взаємопов'язаними елементами — від 3 до 5 днів.
  • Кастомна анімація з нуля (створення ілюстрації + анімація) — від 5 до 7 днів.

Вартість розраховується індивідуально після аналізу макету. В будь-якому випадку ви отримуєте гарантію якості: якщо анімація не проходить тестування на вашому пристрої, ми доопрацьовуємо її за свій рахунок.

Замовте створення Lottie-анімації

Якщо ви хочете впровадити якісну анімацію в мобільний додаток і не витрачати час на вивчення тонкощів After Effects та Bodymovin — зв'яжіться з нами. Ми оцінимо ваш проект, запропонуємо оптимальний стек і терміни. Отримайте консультацію вже сьогодні.

Анімації в мобільних додатках: Lottie, Rive, Spring та Reanimated

Ми зробили анімації для десятків проєктів — від ігрових інтерфейсів до bank-grade додатків. Знаємо, як змусити 120 fps працювати навіть на Android з ProGuard. Якщо анімація смикається — проблема не в інструменті, а у виборі підходу. Нижче покажемо, як обирати між Lottie та Rive, чому Spring physics перемагає UIView.animate, і як Reanimated 3 вичавлює 60 fps на старих пристроях. Отримайте консультацію щодо вашого проєкту — оцінимо анімаційний шар безкоштовно.

Чому UIView.animate ламається на складних сценаріях

UIView.animate(withDuration:) та ObjectAnimator на Android — правильний вибір для простих переходів. Але щойно анімація стає інтерактивною (користувач тягне елемент, швидкість залежить від жесту), потрібен інший підхід.

На iOS для gesture-driven анімації правильний інструмент — UIViewPropertyAnimator. Він дозволяє призупиняти, обертати та модифікувати анімацію в процесі. Типовий кейс: bottom sheet, який слідує за пальцем, продовжує рух з інерцією після відпускання та притягується до найближчої позиції. З UIView.animate це або не працює зовсім, або потребує ручної фізики.

У SwiftUI withAnimation працює з коробки, але інтерактивність обмежена — немає прямого аналога UIViewPropertyAnimator. Обхідний шлях: .gesture(DragGesture()) + @GestureState + явне обчислення позиції. Або йдемо в SwiftUI Animations API з Animation.spring(duration:bounce:).

Як React Native Reanimated обходить JS-міст

React Native Animated API виконує анімації в JS thread — це джерело джанка при завантаженому bridge. Reanimated 3 вирішує проблему через worklets: функції, які компілюються та виконуються прямо на UI thread без перетину JS-моста.

Приклад: parallax scroll header. На базовому Animated.Value при швидкому скролі FPS падає до 40-45 на mid-range Android. На Reanimated з useAnimatedScrollHandler — стабільні 60 fps, тому що весь перерахунок позиції відбувається на UI thread.

Reanimated 3 з useSharedValue, useAnimatedStyle та withSpring/withTiming — стандарт для анімацій у React Native. Gesture Handler v2 щільно інтегрований: useAnimatedGestureHandler замінює PanResponder і теж працює на UI thread.

Чому Lottie може знижувати FPS на Android і як це виправити

Lottie експортує After Effects анімацію в JSON. На iOS з lottie-ios працює стабільно, але на Android при складних ефектах (blur, частинки, градієнти) векторний рендеринг через Canvas призводить до просадок до 30-40 fps. Рішення — або спрощувати анімацію, або використовувати Rive з апаратним рендерингом. Ми тестували: Lottie-файл з розмиттям 5 МБ на Xiaomi Redmi Note 10 дає 48 fps, аналогічна анімація в Rive (.riv 400 КБ) — 60 fps. Rive працює в 1.25 раза швидше на однаковому пристрої, а при складних ефектах — до 4 разів легше за розміром.

Як вибрати між Lottie та Rive для вашого проєкту?

Обидва інструменти вирішують задачу «дизайнер робить анімацію, розробник додає файл». Але принципово по-різному.

Критерій Lottie Rive
Формат JSON векторна анімація Бінарний .riv
Інтерактивність Ні (лінійне відтворення) State Machine, реакції на ввід
Продуктивність Середня (blur/частинки важкі) Апаратний рендеринг Metal/OpenGL
Розмір файлу 2-5 МБ 200-500 КБ
Підтримка платформ iOS, Android, Web, Flutter, RN iOS, Android, Web, Flutter, RN

Вибір простий: статична декоративна анімація (splash screen, onboarding ілюстрації) — Lottie. Інтерактивні UI-елементи зі станами — Rive. Наприклад, кнопка з hover, pressed, loading, success — одна Rive-анімація з чотирма станами проти чотирьох окремих Lottie-файлів. Це зменшує обсяг коду та спрощує підтримку.

Як впровадити анімації Lottie за 4 кроки?

  1. Експорт з After Effects через плагін Bodymovin — отримуєте .json.
  2. Додавання файлу до ресурсів проєкту (assets або drawable).
  3. Ініціалізація плеєра — в iOS використовуйте LOTAnimationView, в Android — LottieAnimationView.
  4. Запуск з параметрамиloopMode, animationSpeed, contentMode. Для складних сценаріїв — кастомний AnimationListener.

На практиці цей підхід працює, але потребує контролю версій Lottie-файлів. Ми рекомендуємо версіонувати їх разом з кодом і тестувати на цільових пристроях.

Spring-фізика та Hero transitions: як досягти природності

Spring-анімація відчувається природньо тому що імітує фізику — масу, жорсткість і демпфування. У SwiftUI: Animation.spring(response:dampingFraction:). В Android Compose: spring(dampingRatio = Spring.DampingRatioMediumBouncy).

Для Hero-переходів (елемент «перелітає» між екранами) на iOS використовуємо UIViewControllerTransitioningDelegate + UIViewControllerAnimatedTransitioning. У SwiftUI — matchedTransitionSource + navigationTransition(.zoom). На Flutter — Hero віджет, який працює з коробки.

Як уникнути типових помилок у Hero transitions?

Анімація починається нормально, але на цільовому екрані елемент «стрибає» в фінальну позицію. Причина — AutoLayout constraints застосовуються до завершення анімації. Рішення: layoutIfNeeded() в блоці анімації або використання transform замість frame-змін. На Flutter — перевіряйте HeroFlightShuttleConfiguration. Також слідкуйте за VSync: на Android при 90 Гц дисплеї Hero-перехід може виглядати смиканим, якщо не виставлений Choreographer.

Таблиця: Строки виконання та типові сценарії

Задача Час Коментар
Базові екранні переходи та мікроінтеракції 1 тиждень Стандартні gesture-driven sheets, каруселі
Lottie/Rive інтеграція з дизайн-системою 3-5 днів Після отримання фінальних файлів
Кастомна інтерактивність з фізикою (сustom sheet, drawer) 1-2 тижні Включає тестування на 4+ пристроях

Що входить в роботу: анімаційний шар під ключ

  • Інтеграція Lottie/Rive-файлів в дизайн-систему
  • Код gesture-driven переходів (bottom sheets, drawers, каруселі)
  • Тестування на реальних пристроях (iOS, Android)
  • Документація з анімацій (архітектура, ключі станів)
  • Підтримка при оновленні дизайну (гарантія 30 днів)

У нас 5+ років досвіду в мобільній розробці, понад 30 проєктів з анімаціями, сертифіковані iOS/Android розробники. Замовте анімації під ключ — перша консультація безкоштовна. Напишіть нам у месенджер, щоб узгодити деталі.

Apple Developer Documentation – UIKit Animations використовується як базова специфікація.