1、京东金融多业务集成解决方案王秀刚王秀刚京东金融高级架构师专注于移动架构应用和实践,对编程语音有深刻的理解,对跨平台研发方面有丰富的经验;专注于提高客户端整体性能。曾从事移动地图和导航引擎的研究。现状过往组件化组件化深入实践模块化集成现状近百个版本的迭代理财,消费,借贷百万级别的代码行数几十个业务多业务发展的监控冗余代码冗余资源性能监控质量监控业务数据采集代码检测工具图片相似度检测卡顿,内存,cpu,流量万分之五左右的崩溃率奇点sdk多业务发展的效率H5RNAndroidiOS过往编译速度慢代码耦合高模块化模糊资源文件冗余三方库+私有库的管理分支合并冲突业务模块封闭组件化私有库和三方库的沉淀堆栈
2、路由-集中配置模块化解耦降低分支合并冲突资源文件组件化-堆栈路由交互统一入口跨平台-Android、iOS、H5堆栈的有效管理提升APP运行性能组件化-堆栈路由-集中配置宿主+模块=高引用宿主+模块=高粘性宿主+模块=高指令路由连接点复杂化组件化-路由分散配置动态查找方法方法的映射模块扩展类15业务A业务B路由业务模块实现路由的分类createSelector:(jumpType)instance methodSignatureForSelector:selectorNSInvocation invocationWithMethodSignature:16路由路由 (业务A)路由 (业务C)路
3、由 (业务B)组件化-模块化资源读取命名空间方式,写法复杂资源和代码的强关联Framework(二进制+Res)FrameworkRes17非同名资源相同同名资源不同组件化-模块化资源frameworkres18非同名资源相同同名资源不同 ipa包增大 bug资源检测工具命名规范模块化集成-问题回顾编译速度慢业务模块SDK不影响业务研发效率减少联调成本模块化测试模块化集成-业务模块封闭权限管理模块sdkswitchsourcelibAPP库与工程的关联仓库与工程目录解耦可以通过commandLine程序设置仓库总目录与工程目录库包括自身的Project工程以及源文件工程通过配置文件引入仓库源码/Lib主工程可修改仓库源文件Lib/Source管理soure-repolib-repo发布仓库管理员开发权限管理soure-repolib-reporead write仓库管理员开发者read onlyread write无权限模块化集成持续集成宿主壳BaseLibModuleModuleModuleToolModuleModuleliblibliblibliblib中间层研发环境中间层主界面ToollibToollibToollibToollib待解决问题UI共享问题包瘦身持续关注热更新自动化的代码合并