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

Post on 16-Oct-2020

27 views 0 download

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

京东阿凡达移动开放平台移动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.