京东阿凡达移动开放平台移动APP业务开发一站式服务
阿凡达开放平台负责人、京东技术专家 王永杰
01contents
02
03
04
阿凡达整体架构
阿凡达三大解决方案
阿凡达支撑系统
京东技术开放赋能
目录
阿凡达整体架构01
PART ONE
背景及目标
亿级MAU
亿级用户量
千万级DAU
订单占比超80%
技术开放
平台生态
手机京东APP——美丽的潘多拉星球
优秀的技术、
工具、系统
臃肿 · 耦合
安全
效率
性能 · 质量
复用
运维
挑战
平台开放面临的挑战
臃肿 · 耦合
安全
效率
性能 · 质量
复用
运维
挑战
臃肿 · 耦合
安全
效率
性能 · 质量
复用
运维
挑战
模块
标准
工具
动态
Modular
应对挑战
技术能力开放
技术价值最大化
技术能力输出
电商能力开放
平台生态建设
业务能力输出
业务闭环开发运营
效率提升
一站式服务
...购物车 咚咚JIMI 京东支付
业
务
层统一登陆 商品详情
业务组件
类
O
S
层
JDReactNative容器 H5容器
三大容器
基础技术模块
崩溃分析系统
技
术
支
撑
系
统
异常自动分析系统
热修复热更新
集成开发平台
门户网站
业务接入支持
整体架构设计
咚咚群、微信群、阿凡达门户、问
答社区、海量文档资料
调研阶段
持续集成系统、一站式线上流程
联调阶段
产品需求对接、参与技术方案设计
需求阶段
热修复、热更新、响应速度快
上线阶段
全流程的支撑系统和工具、成熟的
API和SDK
开发阶段
插件监控系统、线上数据监控等
运营阶段
阿凡达
一站式开发
阿凡达三大解决方案02
PART TWO
H5整体架构
Properties
H5系统工具
BusinessView Native
跳转协议 mBuild 脚手架 魔方静态内容推送系统
JSSDK接入系统
技术支撑系统
协议管理系统
Avatar门户网站Spotlight监控工具
JSSDK
分享 Plus会员 …拍照 AR/VR 智能语音视频播放器
业务插件业务组件
手机京东 第三方业务平台平台 京东M站
• 降低学习成本• 三端融合,提升跨平
台开发效率
效率
• 动态更新、按需发版• 实时Hotfix
动态
• 接近原始性能• 提升用户体验
性能
• 业务能力SDK• UI公共组件库
平台
WE ARETHE BEST
JDReact解决方案-优势
业务SDK库UI公共库Web转换框架
后端管理平台
底层引擎库
• RN目前无专利风险
JDReact解决方案-技术架构
业务层
iOSAndroidWeb
底层渲染引擎(RN)
京东基础功能库
降级容灾
数据监控
灰度更新
持续集成
三端融合
开放SDK平台
• React DSL
85
100
95
105
0
50
100
150
200
250
300
传统开发模式 JDReact开发模式
开发效率对比(单位:人天)
Web Android iOS JDReact
传统开发模式
业务需要进行三端开发,工作量累加。
总共计280人天。
JDReact开发模式
业务只需要进行一次开发,可以简单
适配到三端。共计105人天,节约了
62%的开发资源。
领金豆模块
JDReact解决方案-效率提升
启动性能iOS提升56%左右
Android提升60%左右
内存平均占用减少了30%
整体动画和流畅度提升明显
支撑业务千万级DAU
JDReact解决方案-性能提升
01
02
03
04
05
单页面接入
单Tab接入
单楼层接入
单页面接入
1
单Tab接入
2
单楼层接入
3
实现了数十个核心API及近百个UI公共组件库,包括多媒体、相册、二维码扫描等,覆盖核心
业务能力
JDReact-接入模式
JDReact-Demo展示
完成改版已经上线
完成改版已经上线
完成改版已经上线
接入中
接入中
技术评估中
完成改版已经上线
完成改版已经上线
案例:京东首页
Native解决方案-业务痛点
编译时间太长 耦合无法复用
工程代码臃肿
资源文件重复
代码管理混乱 代码频繁冲突
Native解决方案-Aura架构
手机京东 京东小易应用层 京麦
能力输出
让Aura框架和插件可以run在其他应用里
搭建平台
对外提供接入业务插件的能力
购物车 咚咚 …统一登陆 商品详情 直播京东支付
业务插件
动态化
插件支持
SDK和规范
图片AuraPlugin 埋点
Aura ToolsAura Engine
AuraControl 升级 降级 …
插件持续集成系统
技术支撑系统
插件后台管理系统
Avatar门户网站
独立插件小团队开发标准化开发
小团队
单独编译提高效率动态升级按需发版
灵活
稳定
高内聚、低耦合并行开发独立调试
轻巧
单独仓库互不影响
安全
Native解决方案-特点
Native解决方案-iBiu工具
iOS+Android
Native
JDReact
JDReact
H5
H5 阿凡达
三大解决方案
开发语言 swift+OC java JS H5+JS
动态性 —— 热更新 热更新 热部署
跨平台 不支持 不支持 支持 支持
性能 优 优 好 中
难度 高 高 稍高 中
开发效率 中 中 高 高
用户体验 优 优 好 一般
三大解决方案
申请新插件
准备阶段
开发插件
开发阶段
拉分支集成
测试发版
集成测试
插件升级
降级流程
线上运行
三大解决方案一站式接入流程
阿凡达支撑系统03
PART THREE
产品
开发
测试线上运营
阿凡达门户
开发者中心
审批流后台JDMocke
r 网关
崩溃分析系统 持续集成CI系统
分布式请求追踪和分析系统
SDK及工具脚本
热修复热更新系统
Zookeeper
统一ABtest
APM系统
啄木鸟系统 测试平台
营销平台体系分析平台
乐高配置后台
雷神监控平台
规则平台 CPA平台
定时业务平台
技术支撑系统
导出提交 解混淆初步分析邮件分发
去重计算排名
解决问题提交代码
用户 工程师
服务器
工程师
工程师 代码仓库
• 繁琐
• 效率
• 遗漏
• 实时性
• 问题跟踪
• 统计
人工处理流程
自动处理流程
自动分析自动聚类深度分析创建Bug
提交
自动分发通知
灰度打包
快速解决提交代码
自动修改Bug状态
Crash收集用户 开发人员
代码仓库
Crash展示
Bug Tracker
CI系统
QA
灰度系统
升级推送
触发CI
……数据汇总 分析报告
前端展示
个性化 权限配置版本管理 规则配置
后台管理
模块配置
还原定位
解析过滤
Android/iOS
……
智能建议
模型建立
深度分析
…… ……
报告生成
报告模板
报告生成
代码解析
历史查询
代码库分析
……
数据同步
数据格式化
原始数据同步
Android/iOS
Bug创建
Bug状态同步
Bug系统
数据同步
数据库更新
Crash收集系统
汇总邮件
分析邮件
邮件发送
分析处理
总体架构
1
2
3
4
崩溃信息
相关代码
修改日志
代码修改历史
崩溃分析结果
代码和分支等信息
原始崩溃信息链接
高亮出错文件、函数和行号
经过复原的崩溃堆栈
崩溃分析结果-预览
用色彩格式化出错代码上下文
高亮出错代码行
出错代码上下文行号
崩溃分析结果-代码信息
• 自动创建Bug
• 自动同步状态
关联Bug系统
京东技术开放赋能04
PART FOUR
案例-京东小易APP(企业版ERP)
阿凡达容器 阿凡达系统
咚咚 我的 通讯录 公告 消息 打卡
阿凡达
小易
大客户
A企业APP
咚咚 我的
公告
B企业APP
咚咚 我的
公告
C企业APP
咚咚 我的
公告
D企业APP
咚咚 我的
公告
阿凡达-京东技术开放赋能
平台蓝图
感谢您的时间THANKS.
Top Related