移动app业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件...

37
京东阿凡达移动开放平台 移动APP业务开发一站式服务 阿凡达开放平台负责人、京东技术专家 王永杰

Upload: others

Post on 16-Oct-2020

27 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

京东阿凡达移动开放平台移动APP业务开发一站式服务

阿凡达开放平台负责人、京东技术专家 王永杰

Page 2: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

01contents

02

03

04

阿凡达整体架构

阿凡达三大解决方案

阿凡达支撑系统

京东技术开放赋能

目录

Page 3: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

阿凡达整体架构01

PART ONE

Page 4: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

背景及目标

亿级MAU

亿级用户量

千万级DAU

订单占比超80%

技术开放

平台生态

手机京东APP——美丽的潘多拉星球

优秀的技术、

工具、系统

Page 5: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

臃肿 · 耦合

安全

效率

性能 · 质量

复用

运维

挑战

平台开放面临的挑战

Page 6: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

臃肿 · 耦合

安全

效率

性能 · 质量

复用

运维

挑战

臃肿 · 耦合

安全

效率

性能 · 质量

复用

运维

挑战

模块

标准

工具

动态

Modular

应对挑战

Page 7: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

技术能力开放

技术价值最大化

技术能力输出

电商能力开放

平台生态建设

业务能力输出

业务闭环开发运营

效率提升

一站式服务

...购物车 咚咚JIMI 京东支付

层统一登陆 商品详情

业务组件

O

S

JDReactNative容器 H5容器

三大容器

基础技术模块

崩溃分析系统

异常自动分析系统

热修复热更新

集成开发平台

门户网站

业务接入支持

整体架构设计

Page 8: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

咚咚群、微信群、阿凡达门户、问

答社区、海量文档资料

调研阶段

持续集成系统、一站式线上流程

联调阶段

产品需求对接、参与技术方案设计

需求阶段

热修复、热更新、响应速度快

上线阶段

全流程的支撑系统和工具、成熟的

API和SDK

开发阶段

插件监控系统、线上数据监控等

运营阶段

阿凡达

一站式开发

Page 9: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

阿凡达三大解决方案02

PART TWO

Page 10: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

H5整体架构

Properties

H5系统工具

BusinessView Native

跳转协议 mBuild 脚手架 魔方静态内容推送系统

JSSDK接入系统

技术支撑系统

协议管理系统

Avatar门户网站Spotlight监控工具

JSSDK

分享 Plus会员 …拍照 AR/VR 智能语音视频播放器

业务插件业务组件

手机京东 第三方业务平台平台 京东M站

Page 11: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

• 降低学习成本• 三端融合,提升跨平

台开发效率

效率

• 动态更新、按需发版• 实时Hotfix

动态

• 接近原始性能• 提升用户体验

性能

• 业务能力SDK• UI公共组件库

平台

WE ARETHE BEST

JDReact解决方案-优势

Page 12: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

业务SDK库UI公共库Web转换框架

后端管理平台

底层引擎库

• RN目前无专利风险

JDReact解决方案-技术架构

业务层

iOSAndroidWeb

底层渲染引擎(RN)

京东基础功能库

降级容灾

数据监控

灰度更新

持续集成

三端融合

开放SDK平台

• React DSL

Page 13: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

85

100

95

105

0

50

100

150

200

250

300

传统开发模式 JDReact开发模式

开发效率对比(单位:人天)

Web Android iOS JDReact

传统开发模式

业务需要进行三端开发,工作量累加。

总共计280人天。

JDReact开发模式

业务只需要进行一次开发,可以简单

适配到三端。共计105人天,节约了

62%的开发资源。

领金豆模块

JDReact解决方案-效率提升

Page 14: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

启动性能iOS提升56%左右

Android提升60%左右

内存平均占用减少了30%

整体动画和流畅度提升明显

支撑业务千万级DAU

JDReact解决方案-性能提升

01

02

03

04

05

Page 15: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

单页面接入

单Tab接入

单楼层接入

单页面接入

1

单Tab接入

2

单楼层接入

3

实现了数十个核心API及近百个UI公共组件库,包括多媒体、相册、二维码扫描等,覆盖核心

业务能力

JDReact-接入模式

Page 16: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

JDReact-Demo展示

Page 17: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

完成改版已经上线

完成改版已经上线

完成改版已经上线

接入中

接入中

技术评估中

完成改版已经上线

完成改版已经上线

案例:京东首页

Page 18: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

Native解决方案-业务痛点

编译时间太长 耦合无法复用

工程代码臃肿

资源文件重复

代码管理混乱 代码频繁冲突

Page 19: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

Native解决方案-Aura架构

手机京东 京东小易应用层 京麦

能力输出

让Aura框架和插件可以run在其他应用里

搭建平台

对外提供接入业务插件的能力

购物车 咚咚 …统一登陆 商品详情 直播京东支付

业务插件

动态化

插件支持

SDK和规范

图片AuraPlugin 埋点

Aura ToolsAura Engine

AuraControl 升级 降级 …

插件持续集成系统

技术支撑系统

插件后台管理系统

Avatar门户网站

Page 20: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

独立插件小团队开发标准化开发

小团队

单独编译提高效率动态升级按需发版

灵活

稳定

高内聚、低耦合并行开发独立调试

轻巧

单独仓库互不影响

安全

Native解决方案-特点

Page 21: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

Native解决方案-iBiu工具

Page 22: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

iOS+Android

Native

JDReact

JDReact

H5

H5 阿凡达

三大解决方案

开发语言 swift+OC java JS H5+JS

动态性 —— 热更新 热更新 热部署

跨平台 不支持 不支持 支持 支持

性能 优 优 好 中

难度 高 高 稍高 中

开发效率 中 中 高 高

用户体验 优 优 好 一般

三大解决方案

Page 23: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

申请新插件

准备阶段

开发插件

开发阶段

拉分支集成

测试发版

集成测试

插件升级

降级流程

线上运行

三大解决方案一站式接入流程

Page 24: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

阿凡达支撑系统03

PART THREE

Page 25: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

产品

开发

测试线上运营

阿凡达门户

开发者中心

审批流后台JDMocke

r 网关

崩溃分析系统 持续集成CI系统

分布式请求追踪和分析系统

SDK及工具脚本

热修复热更新系统

Zookeeper

统一ABtest

APM系统

啄木鸟系统 测试平台

营销平台体系分析平台

乐高配置后台

雷神监控平台

规则平台 CPA平台

定时业务平台

技术支撑系统

Page 26: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

导出提交 解混淆初步分析邮件分发

去重计算排名

解决问题提交代码

用户 工程师

服务器

工程师

工程师 代码仓库

• 繁琐

• 效率

• 遗漏

• 实时性

• 问题跟踪

• 统计

人工处理流程

Page 27: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

自动处理流程

自动分析自动聚类深度分析创建Bug

提交

自动分发通知

灰度打包

快速解决提交代码

自动修改Bug状态

Crash收集用户 开发人员

代码仓库

Crash展示

Bug Tracker

CI系统

QA

灰度系统

升级推送

触发CI

Page 28: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

……数据汇总 分析报告

前端展示

个性化 权限配置版本管理 规则配置

后台管理

模块配置

还原定位

解析过滤

Android/iOS

……

智能建议

模型建立

深度分析

…… ……

报告生成

报告模板

报告生成

代码解析

历史查询

代码库分析

……

数据同步

数据格式化

原始数据同步

Android/iOS

Bug创建

Bug状态同步

Bug系统

数据同步

数据库更新

Crash收集系统

汇总邮件

分析邮件

邮件发送

分析处理

总体架构

Page 29: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

1

2

3

4

崩溃信息

相关代码

修改日志

代码修改历史

崩溃分析结果

Page 30: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

代码和分支等信息

原始崩溃信息链接

高亮出错文件、函数和行号

经过复原的崩溃堆栈

崩溃分析结果-预览

Page 31: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

用色彩格式化出错代码上下文

高亮出错代码行

出错代码上下文行号

崩溃分析结果-代码信息

Page 32: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

• 自动创建Bug

• 自动同步状态

关联Bug系统

Page 33: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

京东技术开放赋能04

PART FOUR

Page 34: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

案例-京东小易APP(企业版ERP)

阿凡达容器 阿凡达系统

咚咚 我的 通讯录 公告 消息 打卡

阿凡达

小易

大客户

A企业APP

咚咚 我的

公告

B企业APP

咚咚 我的

公告

C企业APP

咚咚 我的

公告

D企业APP

咚咚 我的

公告

Page 35: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

阿凡达-京东技术开放赋能

Page 36: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

平台蓝图

Page 37: 移动APP业务开发一站式服务bos.itdks.com/b0e85f740e184250b38fbe09bb25eabb.pdf业务组件 类 O S 层 Native容器 H5容器 JDReact 三大容器 基础技术模块 崩溃分析系统

感谢您的时间THANKS.