作者 / 开发者关系工程师 Ajesh R Pai 和 Ben Trengrove
TikTok 是一个全球短视频平台,以海量的用户群体和极具创新性的功能而闻名。其团队不断为用户发布更新、进行实验并上线新功能。在保持高速迭代与应对技术债的双重挑战下,TikTok Android 团队选择了 Jetpack Compose。
团队希望实现更快速、更高质量的产品需求迭代,力求通过 Compose 来缩减编写代码的规模,并减少认知负担,从而提高开发效率,实现更好的性能和稳定性。
简化复杂用户界面,提升开发者工作效率
TikTok 页面包含大量分层的条件要求,因此通常比看起来要更为复杂。这种复杂性通常会导致视图层级结构欠佳且难以维护,以及过多的视图嵌套。在这种情况下,Measure Pass 的次数增加会导致应用的性能下降。
Compose 为这个结构性问题提供了直击痛点的解决方案。此外,Compose 的测量策略有助于减少 Double Taxation,使测量性能更易于优化。
为了提高开发者的工作效率,TikTok 的核心设计系统团队为开发不同应用功能的团队提供了一套组件库。该团队发现,使用 Compose 进行开发非常简单: 不仅利用小型可组合项的方法非常有效,而且合并带有条件逻辑的大型界面模块既简单直接又节省开支。
通过战略迁移构建前行之路
通过战略性地采用 Jetpack Compose,TikTok 得以有效控制技术债,同时继续专注于为用户创造出色体验。Compose 能够清晰地处理条件逻辑并精简组合,这使团队能够在新页面
或重构页面上缩短多达 78% 的页面加载时间。在小规模的用例中,加载时间可缩短 20–30%;对于完全重写的功能和新特性,加载时间可缩短 70–80%。此外,相比于视图构建,团队还能够将功能的代码规模减少 58%。
TikTok 团队还分享了一些心得: 他们的总体策略是逐步迁移特定的用户旅程,这使他们有机会进行迁移试点,并在确认量化收益后,再将迁移扩展到更多页面。他们首先从使用 Compose 简化二维码功能的整体结构入手,取得了性能提升后就可以将迁移范围扩展到登录和注册体验。
此外,该团队进一步补充了实践经验: 在迁移过程中检查性能时,他们发现使用许多小型 ComposeView 替换单个 ViewHolder 中的元素会导致组合开销。因此他们将迁移扩展改为对整个 ViewHolder 使用单个 ComposeView,并取得了更好的成果。
在 ViewPager 中迁移 Fragment (具有自定义高度逻辑和根据实验来隐藏和显示界面的条件逻辑) 时,性能不会受到影响。在这种情况下,将 ViewPager 迁移到可组合项的效果比仅迁移 Fragment 更好。
Compose 能够 "减少功能开发所需的代码量,提高可测试性,并加速交付",Jun Shen 很认可这一点。该团队计划稳步增加 Compose 的采用范围,将其作为长期首选框架。事实证明,Jetpack Compose 是改善开发者体验与各项核心生产指标的卓越解决方案。
-
代码
+关注
关注
30文章
4975浏览量
74349 -
短视频
+关注
关注
1文章
129浏览量
9582 -
TikTok
+关注
关注
2文章
227浏览量
8307
原文标题:TikTok 借助 Jetpack Compose 实现 58% 代码缩减与性能显著提升
文章出处:【微信号:Google_Developers,微信公众号:谷歌开发者】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
使用AMD Value Package加速提升工作效率
电机中磁瓦的性能直接影响电机的工作效率
2025华为开发者大赛暨开发者年度会议成功举办
2025开源鸿蒙开发者激励计划正式启动
元服务发布配置开发者服务信息
2025开放原子开发者大会11月启幕
NVIDIA DRIVE AGX Thor开发者套件重磅发布
曙光网络SugonRI开发者社区正式上线
全新导航库Jetpack Navigation 3发布
电商API入门问答:开发者必知的10个基础问题
矽速科技正式入驻 RuyiSDK 开发者社区,共建 RISC-V 开发者生态!
HDC 2025开发者主题演讲精彩回顾
华为正式启动HarmonyOS 6开发者Beta
Java开发者必备的效率工具——Perforce JRebel是什么?为什么很多Java开发者在用?
TikTok使用Jetpack Compose提升开发者工作效率
评论