Разработка сплэш-скрина (Launch Screen) мобильного приложения
Launch Screen — первое, что видит пользователь после тапа на иконку. Он существует не для красоты, а чтобы прикрыть время инициализации приложения иллюзией мгновенного запуска. Apple и Google это прямо фиксируют в гайдлайнах: Launch Screen должен выглядеть как «снимок» первого экрана приложения, а не как брендовый экран.
iOS: LaunchScreen.storyboard vs Info.plist
До iOS 14 Launch Screen задавался через LaunchScreen.storyboard. Начиная с Xcode 14, App Store требует UILaunchScreen в Info.plist для новых приложений. Оба подхода поддерживаются, но storyboard даёт больше гибкости.
Важный момент: iOS кэширует Launch Screen. Если поменяли что-то в storyboard и тестируете — нужно удалить приложение и поставить заново, иначе увидите старую версию.
Что можно делать в Launch Screen на iOS: статичный логотип, фоновый цвет, простое изображение. Что нельзя: анимации (это причина reject по Guideline 2.3.7), видео, интерактивные элементы. Текст тоже не рекомендуется — нет механизма локализации.
Размеры изображений: нужны варианты @1x, @2x, @3x. Для Asset Catalog в Xcode — PDF-вектор или PNG-сет.
Android: SplashScreen API vs legacy
До Android 12 сплэш реализовывался через Theme с windowBackground. С Android 12 появился SplashScreen API — системный, с анимацией иконки. Google настойчиво рекомендует мигрировать, и для новых приложений таргет API 31+ это уже стандарт.
Через SplashScreen API: задаём windowSplashScreenBackground (цвет фона), windowSplashScreenAnimatedIcon (анимированная иконка, Animated Vector Drawable, не более 1000ms), windowSplashScreenIconBackgroundColor. Иконка — адаптивная, 240×240dp.
Библиотека androidx.core:core-splashscreen позволяет использовать SplashScreen API на Android 6+, что решает проблему фрагментации.
React Native и Flutter
В React Native сплэш реализуется через нативные части iOS/Android + пакет react-native-bootsplash (рекомендуется над устаревшим react-native-splash-screen). react-native-bootsplash генерирует все необходимые ресурсы из одного PNG через CLI-команду.
В Flutter: стандартный FlutterActivity показывает нативный launch screen до первого кадра Flutter. Настраивается через тот же LaunchScreen.storyboard на iOS и SplashScreen API на Android. flutter_native_splash — плагин, который генерирует нативные ресурсы под обе платформы из одного файла конфигурации.
Animated splash screen
Анимированный splash (Lottie-анимация после нативного launch screen) — это другая история. После того как приложение инициализировалось, показываем первый экран-заглушку с Lottie-анимацией на 1–2 секунды. Технически это уже первый экран приложения, а не системный Launch Screen. На iOS LottieAnimationView из официальной библиотеки Lottie iOS 4.x, на Android LottieAnimationView из com.airbnb.android:lottie.
Срок — 1 день. Включает дизайн, подготовку ресурсов для всех платформ, настройку в проекте.







