51信用卡Android架构演进:从组件化到大前端实践
87 浏览量
更新于2024-08-28
收藏 2.39MB PDF 举报
51信用卡Android架构演进实践深入探讨了在面对业务快速扩展和技术挑战时,公司对现有开发模式进行的适应和改进。早期,51信用卡管家为了应对单一工程的局限,引入了组件化和SDK拆分策略,构建了一套中型项目,支持多人并行开发,旨在提高效率和灵活性,为未来的组件化拆分做好准备。
然而,随着业务的增长,出现了诸多问题。主工程代码过于耦合,改动一处可能影响全局;需求测试范围扩大,难以集中处理特定业务模块;工程体积增大,编译时间增加;基础库和业务库之间的界限变得模糊,依赖关系混乱,使得代码管理复杂。此外,动态化需求日益强烈,特别是Hybrid+H5的加载速度问题开始显现。
为了解决这些问题,51信用卡考虑了多种动态化技术路径,包括插件化框架。尽管插件化提供了动态热修复和业务插件动态下发的能力,但其带来的常规操作如hook framework、修改aapt等维护成本高,且在Android P及后续版本中,由于对hook framework的限制,插件化的可行性减弱,维护成本持续上升。
因此,公司内部决定不急于采用插件化,而是选择观望,优先进行业务组件的拆分。在大前端技术趋势中,React Native和Weex等框架受到关注。考虑到51信用卡的实际需求和环境,最终决定转向大前端方向,这将有助于提升开发效率,同时保持良好的用户体验。
总结来说,51信用卡的Android架构演进经历了从单工程模式到组件化、SDK拆分,再到评估和权衡插件化和大前端技术的选择过程。通过这种方式,公司不断优化开发流程,以适应业务发展和技术创新的需求,同时注重解决实践中遇到的问题,确保架构的稳健性和可持续性。
2020-05-13 上传
点击了解资源详情
2017-11-01 上传
2021-01-27 上传
2019-07-06 上传
2021-02-02 上传
2021-10-11 上传
2021-10-14 上传
weixin_38640072
- 粉丝: 3
- 资源: 930
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库