31
淘宝 for iOS 历程 淘宝徐基伟 2011.07.10

淘宝 for iOS 历程

Embed Size (px)

Citation preview

Page 1: 淘宝 for iOS 历程

淘宝 for iOS 历程淘宝•徐基伟2011.07.10

Page 2: 淘宝 for iOS 历程

About Me

徐基伟(崇厚)淘宝 - i工作室,iOS 开发工程师负责淘宝 for iOS 的开发工作

Email: [email protected]

Twitter: @ohdarling88

Page 3: 淘宝 for iOS 历程

淘宝 for iOS13个月,14个版本

Page 4: 淘宝 for iOS 历程

• 工具

• 运营

• 积累

• 复用

• 经验

Page 5: 淘宝 for iOS 历程

工具

Page 6: 淘宝 for iOS 历程

版本控制 Git

• 分布式版本控制系统• 更轻量的分支以及 tag

Page 7: 淘宝 for iOS 历程

问题跟踪 Redmine

• 直接与 Git 集成

• 通过插件进行 Code Review

• 扩展性强,可以作为需求管理工具

Page 8: 淘宝 for iOS 历程

持续集成 Hudson

• 自动构建最新测试版本App

• 在未来,进行自动化单元测试

Page 9: 淘宝 for iOS 历程

• 工具是为人服务的• 适合的才是好的• 充分利用,充分结合

对于工具

Page 10: 淘宝 for iOS 历程

运营

Page 11: 淘宝 for iOS 历程

运营支持的变迁

Page 12: 淘宝 for iOS 历程

使用JSON驱动

Page 13: 淘宝 for iOS 历程

多种形式

Page 14: 淘宝 for iOS 历程

• 节制,不要无限制地增加展现形式• 前瞻,提前考虑一些展现形式的变化• 终极解决方案:WebView

• 拦截页内链接,从 Web 跳到程序内

对于运营

Page 15: 淘宝 for iOS 历程

积累

Page 16: 淘宝 for iOS 历程

• 无关 UI 部分

• 统一数据接口,封装为库,包装调用• 淘宝开放平台淘宝无线开放平台其他系统JSON数据

• 返回一致的数据结构,方便处理

基础库

}TBSDK

Page 17: 淘宝 for iOS 历程

UI 组件

商品信息Cell

交易信息Cell

商品销售属性选择

Page 18: 淘宝 for iOS 历程

UI 组件• 专用组件• 用户信用等级,卖家消保服务图标• 阿里旺旺在线状态按钮等• 通用组件• 渐变按钮,网络图片• 图片浏览等

Page 19: 淘宝 for iOS 历程

工具类,辅助类

• 偏好设置• 本地数据• 硬件环境,软件环境• 常用的功能点,封装为工具类

Page 20: 淘宝 for iOS 历程

• 统一相似功能需求• 视觉上进行把握和控制• 及时整理• 及时重构

对于积累

Page 21: 淘宝 for iOS 历程

复用

Page 22: 淘宝 for iOS 历程

淘宝 for iOS 结构

Page 23: 淘宝 for iOS 历程

拥抱开源

• ASIHttpRequest

• JSON Framework

• SFHFKeychainUtils

• EGOTableViewPullRefresh

• ShareKit

Page 24: 淘宝 for iOS 历程

模块化代码

• 按功能模块组织代码• 低耦合的模块独立为单独项目,使用

Cross-Project Reference

• 拆分 Controller 内视图处理和数据处理

Page 25: 淘宝 for iOS 历程

Universal App

• 尽可能使用 iPhone 代码

• 使用 autoresizingMask

• 使用宏判断运行环境

Page 26: 淘宝 for iOS 历程

对于复用

• 在没时间和精力造轮子的时候,使用别人造好的轮子

• 造不了大轮子,可以造小轮子• 罗马不是一日建成的,轮子也不是一蹴而就的

Page 27: 淘宝 for iOS 历程

经验

Page 28: 淘宝 for iOS 历程

内存管理

• 循环引用• 释放缓存• 正确处理 viewDidLoad & viewDidUnload

Page 29: 淘宝 for iOS 历程

Weak Link

• 兼容低版本 iOS

• NSClassFromString

• respondsToSelector:

Page 30: 淘宝 for iOS 历程

Q&A

Page 31: 淘宝 for iOS 历程

Thanks.