手淘Atlas框架:组件化与动态化的实践与思考
需积分: 5 148 浏览量
更新于2024-08-27
收藏 660KB PDF 举报
"Atlas是手淘开发的Android客户端容器化框架,旨在解决大规模团队协作和客户端动态更新的问题。"
Atlas的设计思路源于2013年手淘业务和开发人员的快速增长,原有的客户端架构面临挑战。因此,经过重构,形成了能够支持组件化、动态性和解耦化的Atlas框架。该框架在工程期支持模块独立开发和调试,运行期则提供组件生命周期管理、类隔离以及快速增量更新的能力。
在工程期,Atlas允许各个业务组件独立开发,减少依赖冲突,提升开发效率。每个模块可以单独编译和调试,便于并行开发。此外,它还强调在工程期完成复杂的工作,以确保运行期的简洁和稳定性。
运行时,Atlas实现了组件生命周期的完整映射,保证了不同组件的正常交互。类隔离机制防止了类名冲突,增强了系统的健壮性。而其运维期的快速增量更新功能,使得应用程序能够快速响应修复和升级需求,手淘在过去半年内通过Atlas发布了446次更新。
Atlas在手淘内部得到了广泛应用,包括超过60个业务组件和20个协作团队,覆盖了从大型的手淘应用到小型的阿里健康等不同规模的项目。尽管其代码量仅为90多个类,但兼容Android 4.x及以上系统,稳定性表现出色,整体Crash率保持在万分之五,因容器导致的Crash占比极低。
Atlas的组件化实现不同于一般的插件化,更注重组件的功能明确和设计规范。手淘的APK包结构展示了组件化的组织方式,每个组件独立存在于APK的不同目录下,这样设计有利于管理和维护,同时也为动态加载和更新提供了可能。
组件化的核心价值在于提高开发效率、降低维护成本以及增强系统的灵活性。通过组件化,开发者可以独立地开发和迭代各个功能模块,减少版本发布的时间,同时保持应用的整体结构清晰,易于扩展和维护。在手淘的实践中,组件化不仅解决了团队协作难题,还实现了客户端的高效动态更新,从而提升了用户体验和产品的竞争力。
2021-08-23 上传
2023-08-30 上传
148 浏览量
348 浏览量
122 浏览量
150 浏览量
184 浏览量
447 浏览量
348 浏览量
weixin_38646659
- 粉丝: 6
- 资源: 921
最新资源
- 测试一下
- 倒霉熊图标下载
- SETFSB.zip
- marathon_3:免费的智力马拉松HTML-学院
- BlenderGEResourceKit:Blender游戏引擎的即用型组件集合
- winsdksetup.zip
- Aikatsu LGTM-crx插件
- dsm-htpc-群集
- simple-password-manager:Flutter制作的简单密码管理应用
- 精美蝴蝶图标下载
- 电信设备-带身份核验的物联网移动终端及人证合一核验方法.zip
- 初级java笔试题-cs-study:https://github.com/jwasham/coding-interview-universi
- MinGW压缩包省去繁琐的官网下载
- SYIPAGeneratedScript:make a ipa by script——使用脚本生成ipa包
- VTS Testing Version 2-crx插件
- 帮手