51信用卡Android架构演进:从组件化到大前端实践

0 下载量 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拆分,再到评估和权衡插件化和大前端技术的选择过程。通过这种方式,公司不断优化开发流程,以适应业务发展和技术创新的需求,同时注重解决实践中遇到的问题,确保架构的稳健性和可持续性。