Примеры из практики
TikTok сократил размер кода на 58% и улучшил производительность приложения для новых функций благодаря Jetpack Compose.
2 минуты чтения

TikTok — это глобальная платформа для коротких видеороликов, известная своей огромной пользовательской базой и инновационными функциями. Команда постоянно выпускает обновления, проводит эксперименты и внедряет новые функции для своих пользователей. Столкнувшись с проблемой поддержания высокой скорости разработки при одновременном управлении техническим долгом, команда разработчиков TikTok для Android обратилась к Jetpack Compose .
Команда стремилась ускорить и улучшить качество итераций требований к продукту. Используя Compose, команда хотела повысить эффективность разработки за счет сокращения объема кода и снижения когнитивной нагрузки, а также добиться лучшей производительности и стабильности.
Оптимизация сложного пользовательского интерфейса для повышения производительности разработчиков.
Страницы TikTok часто сложнее, чем кажутся, и содержат множество многоуровневых условных требований. Эта сложность часто приводит к трудноподдерживаемым, неоптимально структурированным иерархиям представлений и чрезмерной вложенности представлений, что вызывает снижение производительности из-за увеличения количества проходов измерения.
Компания Compose предложила прямое решение этой структурной проблемы.
Кроме того, стратегия измерения Compose помогает снизить двойное налогообложение , упрощая оптимизацию показателей.
Для повышения производительности разработчиков центральная команда Design System компании TikTok предоставляет библиотеку компонентов для команд, работающих над различными функциями приложения. Команда отметила, что разработка в Compose проста; использование небольших компонуемых элементов очень эффективно, а включение больших блоков пользовательского интерфейса с условной логикой является простым и требует минимальных затрат ресурсов.

Прокладывая путь вперед посредством стратегической миграции.
Благодаря стратегическому внедрению Jetpack Compose, TikTok смог справиться с техническим долгом, продолжая при этом фокусироваться на создании отличного пользовательского опыта. Возможность Compose корректно обрабатывать условную логику и оптимизировать компоновку позволила команде добиться сокращения времени загрузки страниц до 78% на новых или полностью переписанных страницах. В небольших случаях это улучшение составило 20–30%, а при полной переработке и добавлении новых функций — 70–80%. Также удалось сократить размер кода на 58% . по сравнению с аналогичной функцией, встроенной в Views. Команда также поделилась несколькими выводами:
Общая стратегия команды TikTok заключалась в поэтапной миграции отдельных пользовательских сценариев. Это дало им возможность перенести данные, подтвердить измеримые преимущества, а затем масштабировать миграцию на большее количество экранов. Они начали с использования Compose для упрощения общей структуры функции QR-кода и увидели улучшения. Позже команда расширила миграцию на процессы входа и регистрации.
Команда поделилась некоторыми дополнительными выводами:
В ходе проверки производительности во время миграции команда TikTok обнаружила, что использование множества небольших ComposeView для замены элементов внутри одного ViewHolder приводило к дополнительным затратам на компоновку. Лучших результатов они добились, расширив миграцию и используя один ComposeView для всего ViewHolder.
При переносе фрагмента внутрь ViewPager, который имеет собственную логику изменения высоты и условную логику для скрытия и отображения элементов интерфейса в зависимости от экспериментов, производительность не пострадала. В этом случае перенос ViewPager в Composable показал лучшие результаты, чем перенос фрагмента.
Джун Шен очень доволен тем, что Compose «сокращает объем кода, необходимого для разработки функций, улучшает тестируемость и ускоряет доставку». Команда планирует постепенно наращивать использование Compose, сделав его своим предпочтительным фреймворком в долгосрочной перспективе. Jetpack Compose оказался мощным решением для улучшения как опыта разработчиков, так и показателей производительности в масштабе предприятия.
Начните работу с Jetpack Compose
Узнайте больше о том, как Jetpack Compose может помочь вашей команде.
Продолжить чтение

Примеры из практики
Компания FotMob недавно зафиксировала самый большой за последние 5 лет суточный прирост числа пользователей Wear OS среди своих пользователей, в 2-3 раза превысивший среднесуточный показатель. Секрет? Простой процесс установки на разные устройства, который позволяет пользователям находить приложение Wear OS прямо со своего телефона.
Garan Jenkin • 3 мин чтения

Примеры из практики
Приложение для развития осознанности Gratitude поощряет последовательность с помощью коротких ежедневных записей в дневнике, аффирмаций и досок визуализации. Приложение скачали более 6 миллионов раз, оно получило 150 тысяч пятизвездочных оценок и содержит 100 миллионов записей в дневнике.
Amrit Sanjeev , Ash Nohe • 3 мин чтения

Примеры из практики
Karrot — это локальное, основанное на взаимодействии между пользователями приложение-маркетплейс, позволяющее покупать, продавать и обмениваться товарами с другими проверенными пользователями. С момента запуска в Южной Корее в 2015 году платформа расширилась на мировые рынки, собрав более 43 миллионов зарегистрированных пользователей.
Thomas Ezan , Tracy Agyemang • Чтение 2 минуты
Будьте в курсе событий
Получайте еженедельно самые свежие новости о разработке Android прямо на свою электронную почту.







