看到淘宝如此强大的客户端,我不禁想你淘宝客户端的张毅(江湖名号:陶钧)在ADC中对于淘宝框架剖析讲解;
议程包含三大点:
- 淘宝 Android客户端开发的特点和挑战
- HOW TO: TaoBao Client Framework
- 淘宝 Android客户端上的最佳实践
下面一一细说陶钧当日的讲解:
-----淘宝 Android客户端开发的特点------------------------------------
一:客户端开发的特点:
- 用户体验第一
- 运行在用户机器上
- 部署成本高
- 自由地开发
备注:用户体验(4点):
- 用户体验 助产品领先竞争对手;体验是立体的;UI 和 UE,一静一动;
- 性能:稳定性,电量,流量,速度——四大金刚
- 团队的品味决定产品的品质
- 细节:不期望所有用户都感受到
备注:运行在千差万别的机器上
- OS版本
- 设备能力
- 瓶颈不一样,CPU,RAM,屏幕大小,操作性
- 运行环境复杂
- 用户的网络环境,电量,流量,内存;
- 处理各种异常和中断
- 和其他程序的兼容
备注:android 碎片化(OpenSignalMaps公司 统计 3997台设备下载并运行了他们的应用)
- 28原则,降级服务
- 尽量降低和系统的耦合
- 异常和兼容性问题,从根源寻求解决方案
- 运行时统计,识别瓶颈,动态参数调整
- 80%的复杂度可以封装到SDK中
备注: 用户的困难
–我是流量小水管,伤不起
–磁盘空间不足了
–我就用5分钟,懒得升级了,下次再说
–谁能告诉我怎么升级 …
渠道众多,推广成本高
–厂商,应用商店,下载
解决之道
–客户端支持部分线上动态部署能力
–通过webview 直接集成 webapp
5:自由的开发:(2-3个人就可以写出一个客户端)
- 对OS的访问自由,随意耦合
- Framework 对开发模式没有强约束
- 入门门槛低
- 重复造轮子 貌似比学习使用轮子 要容易
----HOW TO: TaoBao Client Framework--------------------------------
开工准备:
第一:入口——基础购物平台
- 开放的平台
- 通过组件接入 业务和服务,降低接入成本
- 技术框架统一,减少代码冗余
- 研发中的App 性能监测
第二:HOW TO
- 重用:把实战的经验,代码,思路沉淀下来。开发标准很重要
- 确保不犯同样的错误,光有SDK是不够的
- So we need something
- 客户端应用框架
第三:框架的目标
第四:框架的性能
最佳实践:构架淘宝框架:
框架构建原则:
应用框架:Base Function
- API Request
- Image Pool
- Push
- Cache
- TB WebView
- DataProvider
应用框架:Business’s Features
- Data and Logic
- Friend interface for Application
- Model and self-control
- Cache build in
- Can be shared between Apps
应用框架:Rich View
Performance
Encapsultae some base user interact for you app;
Fit to various screen
应用框架工具: 开发辅助工具
–Dynamic Memory Monitor in Framework
–MAT
–Monkey
–Perf Tool
–TraceView,Benchmark in Framework
无线测试实验室
–主功能 自动回归测试
–兼容性 回归
–稳定性 监测
–Performance 监测
