查看原文
其他

提升效率,减少错误 | Twitter 采用 Jetpack Compose 进行功能开发

Android Android 开发者 2022-10-12


作者 / Android 团队


Twitter 作为使用广泛的社交媒体平台之一,一直在寻找方法更好地连接用户。为在维护现有功能的同时高效开发新功能,开发者需要可提供支持的基础架构。Twitter 开发团队因而选择用 Jetpack Compose 来启动对应用界面基础急需的改进。通过使用 Compose,开发者可以轻松找到并使用正确的 API,顺利完成组件的设计和模块化,并最终以更少的代码构建更多功能。

  • Jetpack Compose
    https://developer.android.google.cn/jetpack/compose



Twitter 启动界面大改造



Android 客户端界面团队、获客、Twitter Blue 和社区等少数团队改进了开发流程,这让 Twitter 的工程师们兴奋不已。"Twitter 的数个团队在日常工作流程中采用了 Compose",Twitter Android 版社区团队的高级软件工程师和技术负责人 Sneha Patil 说道。通过免除创建和设置自定义主题和属性,Compose 显著提升了开发功能和满足设计要求的速度,同时难度也比使用 Views 时更低。Jetpack Compose 使这些团队能够加快工作速度,提高工作效率,确保代码可复用,并帮助新工程师轻松入门。



让开发流程焕发活力



使用 Compose 创建动态内容非常简单。Twitter 团队使用 LazyColumn 可组合项来构建界面,而不需要使用 Adapter 或 ViewHolder,进而简化了代码编写流程,让布局、主题背景和样式实现无缝衔接。由于要编写的行数更少,Twitter 的开发团队减少了使用的模板文件,在开发和发布期间遇到的错误也更少,启用了界面实验,并加快了测试过程。这些改进提高了生产力,使得开发者可投入更多时间来构建 Twitter 独有的内容。


  • LazyColumn
    https://developer.android.google.cn/jetpack/compose/lists#lazy


他们还使用 Compose 来构建可在整个应用中复用的无状态组件。Compose 的灵活性让开发者能够更轻松地满足设计要求,加快设计速度,并让新老工程师都能更轻松地设置主题背景和样式。


使用 Compose 构建新功能



基于所体验到的改进,Twitter 决定使用 Compose 构建全新的功能。他们使用 Compose,从头开始构建了 Twitter 的专有空间——社区功能,在这里用户可以讨论他们最关心的话题。根据团队之前使用 Views 实现其他功能的经验,使用 Compose 构建的速度更快,错误更少。"这就像魔法一样神奇",Sneha 说,"它彻底改变了我们使用 Compose 在 Android 上进行开发的方式"


  • 社区功能
    https://help.twitter.com/en/using-twitter/communities



Compose 提升开发产出



Compose 加快了 Twitter 工程师的界面开发速度,提高了开发效率。开发者可以轻松使用 Compose 进行整合和开发,这使他们能够更容易将代码模块化、复用组件和分解依赖项。开发团队经常利用界面进行实验,而 Compose 带给他们信心,明确了在生产过程中组件如何对用户互动、数据更新和不同屏幕尺寸作出反应。

正是这些团队采用 Compose 获得的初步成功,激励了 Twitter 其他开发团队竞相效仿。现在,即使是处理复杂旧版组件的工程师也在考虑采用 Compose。

总体而言,Compose 不仅消除了团队在 Views 中曾遇到的诸多障碍,还为工作流程增添了乐趣,一些开发者已准备好彻底放弃旧有的开发方法。"我很高兴能写出更多的 Compose 代码,并且再也不需要接触 XML 布局",Twitter Android 客户端界面软件工程师 Yoali Sotomayor Baqueiro 说道。"它不仅使开发界面变得更容易,而且更加直观有趣。"

△ Twitter 采用 Jetpack Compose 进行功能开发



开始体验



即刻开始,使用 Compose 优化您的界面开发:

https://developer.android.google.cn/jetpack/compose


也欢迎您持续关注 "Android 开发者" 微信公众号,及时了解更多产品信息和近期更新。


您可以通过下方二维码或在文章底部私信,向我们提交反馈,分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的支持!




推荐阅读

如页面未加载,请刷新重试

 点击屏末 | 阅读原文 | 进一步了解 Jetpack Compose 的更多内容




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存