Twitter 利用 Compose 提高了开发者的效率和速度
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Twitter 是使用最广泛的社交媒体平台之一,在这里,用户可以随时查看世界上正在发生的事情。工程团队开始使用 Jetpack Compose 对其设计系统进行现代化改造。
策略
由于 Twitter 应用的界面组件和主题系统是在大约 10 年前开发的,其中包含需要大量维护工作的旧版组件,因此工程团队希望构建一个可伸缩的全新设计系统;采用易于使用和维护的无状态界面组件;实现、扩展和自定义具有直观的实现、扩展和自定义功能,因此他们决定使用 Compose。
该团队开始通过内部设计系统逐个替换组件,并将 Compose 引入不依赖于旧版设置的新屏幕中。
成果
Compose 为他们提高开发者速度、开发者满意度和界面代码/组件可维护性的目标提供了坚实的答案。开始使用 Compose 后,Twitter 工程师表示,“简而言之:非常棒。我们在内部将其称为 Android UI 2.0,这使得我们很难深入研究我们的旧版视图系统。对于我们专门使用 Compose 开发的应用,提高了我们的效率和速度。”
他们已经看到了开发和实验速度的提升:“我们在 Compose 中采用的任何项的周转周期都比我们以前快得多。此外,我们还在产品变更中进行了大量实验,使用 Compose 和 Kotlin 编写代码会更好、更快地完成。”
他们编写的代码不仅更直观,而且编写速度也更快,也更易读:“此外,我们的主题层更加直观和易读
我们能够在单个 Kotlin 文件中实现通过多个属性分配主题实现的功能,而这些分配原本要覆盖多个 XML 文件,而这些分配又跨越了多个属性 XML 文件。在 Compose 的上下文中重新实现整个主题结构只需几天到几周的时间,并且事实证明,与旧版主题系统相比,更强大、更直观。”
开始使用
详细了解 Compose。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2021-07-28。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2021-07-28\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2021-07-28。"]]