书籍详情
iOS网络编程与云端应用最佳实践
作者:关东升
出版社:清华大学出版社
出版时间:2013-05-01
ISBN:9787302322207
定价:¥69.00
购买这本书可以去
内容简介
《清华开发者书库:iOS网络编程与云端应用最佳实践》是介绍iOS 6网络编程和云端应用开发技术书籍,介绍了苹果网络、数据交换格式、Web Service、iCloud、定位服务、地图、推送通知、Newsstand、应用内购买、Passbook、以及社交网络编程,还介绍了网络通信设计模式和架构设计。 《清华开发者书库:iOS网络编程与云端应用最佳实践》分为5部分:网络基础篇、云服务篇、社交篇、电子商务篇和实战篇。网络基础篇包括第2章~第3章,介绍了网络结构、Socket网络通信、对等结构网络、Bonjour服务发现,以及 JSON和XML数据交互格式。云服务篇包括了第4章~第5章,介绍了客户端服务器结构网络通信两种具体实现方式:REST Web Service和SOAP Web Service,以及 iCloud编程。社交篇包括了第6章~第7章,介绍了Twitter、Facebook、新浪微博社交网络客户端编程API,以及定位服务与地图应用开发。电子商务篇包括了第8章~第11章,介绍了推送通知、Newsstand应用编程、服务器产品类型应用内购买、iOS6 Passbook应用开发。实战篇包括了第12章~第13章,通过重构MyNotes应用介绍了iOS网络通信中的设计模式与架构设计,最后通过价格线酒店预订iPhone客户端开发介绍了iOS敏捷开发过程。
作者简介
关东升,国内知名iOS技术作家,iOS技术顾问,高级培训讲师,移动开发专家。精通iOS、Android和 Windows Phone及Html5等移动开发技术。曾先后主持开发大型网络游戏神农诀iOS和Android客户端开发、国家农产品追溯系统iPad客户端开发、大型团购网站移动端开发、金融系统微博iOS、WP7、Android客户端开发。在App Store发布多款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。近期为中国移动研究院、方正科技、大唐电信、中石油等企事业单位授课。著有《iOS6开发指南》、《iOS网络编程与云端应用最佳实践》、《iPhone与 iPad开发实战——iOS 经典应用剖析》、《Android开发案例驱动教程》、《Android网络游戏开发实战》以及《JSP网络程序设计》等书籍。
目录
i推荐序(一)Ⅰ
推荐序(二)Ⅲ
赞誉Ⅴ
前言Ⅶ
第1章 开篇综述
1.1 本书结构
1.2 本书中的约定
1.2.1 实例代码约定
1.2.2 图示的约定
网络基础篇
第2章 沟通无限——苹果的网络
2.1 网络结构
2.1.1 客户端服务器结构网络
2.1.2 对等结构网络
2.2 基于Socket的C/S结构网络通信
2.2.1 Socket概念
2.2.2 Socket编程
2.2.3 实例: NSStream&CFStream实现TCP Socket服务器端
2.2.4 实例: NSStream&CFStream实现TCP Socket客户端
2.3 Bonjour服务发现
2.3.1 发布服务
2.3.2 解析服务
2.3.3 查找服务
2.3.4 实例: 基于服务发现的Socket通信服务器端
2.3.5 实例: 基于服务发现的Socket通信客户端
2.4 对等结构网络
2.4.1 使用Game Kit开发对等结构网络应用
2.4.2 实例: 基于蓝牙对等网络通信
本章 小结
第3章 数据交换格式
3.1 XML数据交换格式
3.1.1 文档结构
3.1.2 XML文档解析与框架性能
3.1.3 实例: MyNotes应用XML
3.2 JSON数据交换格式
3.2.1 文档结构
3.2.2 JSON数据编码/解码与框架性能
3.2.3 实例: MyNotes应用JSON解码
本章 小结
云 服 务 篇
第4章 使用Web Service——基于客户端服务器结构网络通信
4.1 REST Web Service
4.1.1 HTTP和HTTPS协议
4.1.2 同步GET方法请求编程
4.1.3 异步GET方法请求编程
4.1.4 POST方法请求编程
4.1.5 实例: REST Web Service实现的MyNotes应用
4.2 SOAP Web Service
4.2.1 WSDL概念
4.2.2 SOAP协议
4.2.3 实例: SOAP Web Service实现MyNotes应用
4.3 ASIHTTPRequest框架使用
4.3.1 安装和配置ASIHTTPRequest框架
4.3.2 同步请求
4.3.3 异步请求
4.3.4 实例: 请求队列应用
4.3.5 实例: 上传数据应用
4.4 反馈网络信息改善用户体验
4.4.1 iOS 6表视图刷新控件的使用
4.4.2 使用等待指示器控件
4.4.3 使用网络等待指示器
4.4.4 使用MBProgressHUD等待指示器
本章 小结
第5章 iCloud编程
5.1 苹果云服务——iCloud
5.2 配置iCloud
5.2.1 创建App ID
5.2.2 创建配置概要文件
5.3 iCloud数据存储
5.3.1 iCloud键值数据存储
5.3.2 iCloud文档存储
5.3.3 iCloud存储注意事项
5.4 iCloud键值数据存储编程
5.4.1 实例: iCloud键值数据存储设计
5.4.2 配置Xcode工程
5.4.3 代码实现
5.5 iCloud文档存储编程
5.5.1 实例: iCloud文档存储编程设计
5.5.2 配置Xcode工程
5.5.3 自定义文档类
5.5.4 获得iCloud文档目录
5.5.5 查找Ubiquity容器中的文档
5.5.6 保存文档
5.5.7 解决文档冲突
5.6 在iCloud下使用Core Data技术
5.6.1 实例: iCloud Core Data编程设计
5.6.2 使用Xcode创建Core Data工程
5.6.3 创建持久化存储协调者
5.6.4 创建被管理的对象上下文
5.6.5 合并iCloud与本地数据
本章 小结
社交篇
第6章 社交网络编程
6.1 苹果公司的社交网络
6.1.1 设置账户信息
6.1.2 社交网络编程API
6.2 iOS 6分享列表——UIActivityViewController
6.2.1 内置活动列表项
6.2.2 自定义活动列表项
6.3 撰写视图控制器——SLComposeViewController
6.4 编写自己的社交网络客户端
6.4.1 实例: 编写新浪微博客户端
6.4.2 实例: 编写Twitter客户端
6.4.3 实例: 编写Facebook客户端
本章 小结
第7章 定位服务与地图应用开发
7.1 定位服务
7.1.1 定位服务编程
7.1.2 地理信息反编码
7.1.3 地理信息编码查询
7.1.4 关于定位服务的测试
7.2 使用iOS 6苹果地图
7.2.1 显示地图
7.2.2 添加标注
7.2.3 跟踪用户位置变化
7.3 使用程序外地图
7.3.1 调用iOS 6苹果地图
7.3.2 调用谷歌Web地图
7.4 使用本地化的百度地图
7.4.1 百度地图的安装与初始化
7.4.2 显示地图
7.4.3 地理信息编码与反编码
7.4.4 添加标注点
本章 小结
电子商务篇
第8章 发布你的促销信息——推送通知
8.1 苹果中究竟有多少个“通知”
8.1.1 广播通知
8.1.2 本地通知
8.1.3 推送通知
8.2 配置推送通知
8.2.1 证书签名请求
8.2.2 配置应用推送通知
8.2.3 生成SSL证书
8.2.4 为SSL证书导出p12文件
8.3 iOS客户端编程
8.3.1 配置Xcode工程
8.3.2 代码实现
8.4 推送服务端编程
8.4.1 使用PHP实现推送服务
8.4.2 使用Java推送服务
本章 小结
第9章 报刊杂志——Newsstand应用编程
9.1 iOS 5中Newsstand应用
9.2 Newsstand应用编程
9.2.1 配置Newsstand
9.2.2 使用Newsstand Kit API
9.3 实例: MyNewsstand杂志应用
9.3.1 实例设计原型草图
9.3.2 实例设计类图
9.3.3 初始化杂志画面
9.3.4 主动式下载资源
9.3.5 后台下载资源
9.3.6 断点续传
9.3.7 读取杂志内容
本章 小结
第10章 应用内购买
10.1 应用内购买实例设计
10.2 测试环境搭建
10.2.1 添加测试用户
10.2.2 创建App ID
10.2.3 添加空白应用
10.2.4 为应用添加购买产品信息
10.3 服务器产品类型应用内购买
10.3.1 工作流程
10.3.2 实例: 应用内购买iOS客户端
10.3.3 实例: PHP实现的服务器端
本章 小结
第11章 iOS 6 Passbook应用开发
11.1 Passbook与Pass
11.1.1 Pass的5种风格
11.1.2 Pass的内部结构
11.2 设计Pass
11.2.1 pass.json文件结构
11.2.2 Pass类型和字段
11.2.3 二维条形码
11.2.4 位置与时间
11.2.5 本地化
11.2.6 图标和图片的使用
11.3 创建Pass
11.3.1 创建Pass证书
11.3.2 数字签名与打包Pass文件
11.4 发布Pass
11.4.1 E?mail发布
11.4.2 Web网站发布
11.5 Pass Kit编程
11.5.1 实例: MyPass实例设计与说明
11.5.2 准备工作
11.5.3 访问Passbook
11.5.4 添加与替换Pass
11.5.5 删除Pass
本章 小结
实战篇
第12章 重构MyNotes应用——iOS网络通信中的设计模式与架构设计
12.1 移动网络通信应用的分层架构设计
12.2 基于委托模式实现
12.2.1 网络通信与委托模式
12.2.2 异步网络通信中委托模式实现分层架构设计
12.2.3 类图
12.2.4 时序图
12.2.5 数据持久层代码实现
12.2.6 业务逻辑层代码实现
12.2.7 表示层代码实现
12.3 基于观察者模式通知机制实现
12.3.1 观察者模式的通知机制回顾
12.3.2 异步网络通信中通知机制实现分层架构设计
12.3.3 类图
12.3.4 时序图
12.3.5 数据持久层代码实现
12.3.6 业务逻辑层代码实现
12.3.7 表示层代码实现
本章 小结
第13章 iOS敏捷开发项目实战——价格线酒店预订iPhone客户端开发
13.1 应用分析与设计
13.1.1 应用概述
13.1.2 需求分析
13.1.3 原型设计
13.1.4 架构设计
13.2 iOS敏捷开发
13.2.1 敏捷开发宣言
13.2.2 iOS可以敏捷开发
13.2.3 iOS敏捷开发一般过程
13.3 任务1: 创建应用基本工作空间
13.3.1 迭代1.1 创建业务逻辑层工程
13.3.2 迭代1.2 创建表示层工程
13.4 任务2: 业务逻辑层开发
13.4.1 迭代2.1 编写搜索酒店的业务逻辑层类
13.4.2 迭代2.2 编写房间查询业务逻辑类
13.5 任务3: 表示层开发
13.5.1 迭代3.1 根据原型设计初步设计故事板
13.5.2 迭代3.2 搜索酒店模块
13.5.3 迭代3.2.1 选择城市视图控制器
13.5.4 迭代3.2.2 选择关键字视图控制器
13.5.5 迭代3.2.3 选择价格和日期拾取器
13.5.6 迭代3.2.4 酒店搜索视图控制器
13.5.7 迭代3.2.5 酒店搜索列表视图控制器
13.5.8 迭代3.3 房间查询模块
推荐序(二)Ⅲ
赞誉Ⅴ
前言Ⅶ
第1章 开篇综述
1.1 本书结构
1.2 本书中的约定
1.2.1 实例代码约定
1.2.2 图示的约定
网络基础篇
第2章 沟通无限——苹果的网络
2.1 网络结构
2.1.1 客户端服务器结构网络
2.1.2 对等结构网络
2.2 基于Socket的C/S结构网络通信
2.2.1 Socket概念
2.2.2 Socket编程
2.2.3 实例: NSStream&CFStream实现TCP Socket服务器端
2.2.4 实例: NSStream&CFStream实现TCP Socket客户端
2.3 Bonjour服务发现
2.3.1 发布服务
2.3.2 解析服务
2.3.3 查找服务
2.3.4 实例: 基于服务发现的Socket通信服务器端
2.3.5 实例: 基于服务发现的Socket通信客户端
2.4 对等结构网络
2.4.1 使用Game Kit开发对等结构网络应用
2.4.2 实例: 基于蓝牙对等网络通信
本章 小结
第3章 数据交换格式
3.1 XML数据交换格式
3.1.1 文档结构
3.1.2 XML文档解析与框架性能
3.1.3 实例: MyNotes应用XML
3.2 JSON数据交换格式
3.2.1 文档结构
3.2.2 JSON数据编码/解码与框架性能
3.2.3 实例: MyNotes应用JSON解码
本章 小结
云 服 务 篇
第4章 使用Web Service——基于客户端服务器结构网络通信
4.1 REST Web Service
4.1.1 HTTP和HTTPS协议
4.1.2 同步GET方法请求编程
4.1.3 异步GET方法请求编程
4.1.4 POST方法请求编程
4.1.5 实例: REST Web Service实现的MyNotes应用
4.2 SOAP Web Service
4.2.1 WSDL概念
4.2.2 SOAP协议
4.2.3 实例: SOAP Web Service实现MyNotes应用
4.3 ASIHTTPRequest框架使用
4.3.1 安装和配置ASIHTTPRequest框架
4.3.2 同步请求
4.3.3 异步请求
4.3.4 实例: 请求队列应用
4.3.5 实例: 上传数据应用
4.4 反馈网络信息改善用户体验
4.4.1 iOS 6表视图刷新控件的使用
4.4.2 使用等待指示器控件
4.4.3 使用网络等待指示器
4.4.4 使用MBProgressHUD等待指示器
本章 小结
第5章 iCloud编程
5.1 苹果云服务——iCloud
5.2 配置iCloud
5.2.1 创建App ID
5.2.2 创建配置概要文件
5.3 iCloud数据存储
5.3.1 iCloud键值数据存储
5.3.2 iCloud文档存储
5.3.3 iCloud存储注意事项
5.4 iCloud键值数据存储编程
5.4.1 实例: iCloud键值数据存储设计
5.4.2 配置Xcode工程
5.4.3 代码实现
5.5 iCloud文档存储编程
5.5.1 实例: iCloud文档存储编程设计
5.5.2 配置Xcode工程
5.5.3 自定义文档类
5.5.4 获得iCloud文档目录
5.5.5 查找Ubiquity容器中的文档
5.5.6 保存文档
5.5.7 解决文档冲突
5.6 在iCloud下使用Core Data技术
5.6.1 实例: iCloud Core Data编程设计
5.6.2 使用Xcode创建Core Data工程
5.6.3 创建持久化存储协调者
5.6.4 创建被管理的对象上下文
5.6.5 合并iCloud与本地数据
本章 小结
社交篇
第6章 社交网络编程
6.1 苹果公司的社交网络
6.1.1 设置账户信息
6.1.2 社交网络编程API
6.2 iOS 6分享列表——UIActivityViewController
6.2.1 内置活动列表项
6.2.2 自定义活动列表项
6.3 撰写视图控制器——SLComposeViewController
6.4 编写自己的社交网络客户端
6.4.1 实例: 编写新浪微博客户端
6.4.2 实例: 编写Twitter客户端
6.4.3 实例: 编写Facebook客户端
本章 小结
第7章 定位服务与地图应用开发
7.1 定位服务
7.1.1 定位服务编程
7.1.2 地理信息反编码
7.1.3 地理信息编码查询
7.1.4 关于定位服务的测试
7.2 使用iOS 6苹果地图
7.2.1 显示地图
7.2.2 添加标注
7.2.3 跟踪用户位置变化
7.3 使用程序外地图
7.3.1 调用iOS 6苹果地图
7.3.2 调用谷歌Web地图
7.4 使用本地化的百度地图
7.4.1 百度地图的安装与初始化
7.4.2 显示地图
7.4.3 地理信息编码与反编码
7.4.4 添加标注点
本章 小结
电子商务篇
第8章 发布你的促销信息——推送通知
8.1 苹果中究竟有多少个“通知”
8.1.1 广播通知
8.1.2 本地通知
8.1.3 推送通知
8.2 配置推送通知
8.2.1 证书签名请求
8.2.2 配置应用推送通知
8.2.3 生成SSL证书
8.2.4 为SSL证书导出p12文件
8.3 iOS客户端编程
8.3.1 配置Xcode工程
8.3.2 代码实现
8.4 推送服务端编程
8.4.1 使用PHP实现推送服务
8.4.2 使用Java推送服务
本章 小结
第9章 报刊杂志——Newsstand应用编程
9.1 iOS 5中Newsstand应用
9.2 Newsstand应用编程
9.2.1 配置Newsstand
9.2.2 使用Newsstand Kit API
9.3 实例: MyNewsstand杂志应用
9.3.1 实例设计原型草图
9.3.2 实例设计类图
9.3.3 初始化杂志画面
9.3.4 主动式下载资源
9.3.5 后台下载资源
9.3.6 断点续传
9.3.7 读取杂志内容
本章 小结
第10章 应用内购买
10.1 应用内购买实例设计
10.2 测试环境搭建
10.2.1 添加测试用户
10.2.2 创建App ID
10.2.3 添加空白应用
10.2.4 为应用添加购买产品信息
10.3 服务器产品类型应用内购买
10.3.1 工作流程
10.3.2 实例: 应用内购买iOS客户端
10.3.3 实例: PHP实现的服务器端
本章 小结
第11章 iOS 6 Passbook应用开发
11.1 Passbook与Pass
11.1.1 Pass的5种风格
11.1.2 Pass的内部结构
11.2 设计Pass
11.2.1 pass.json文件结构
11.2.2 Pass类型和字段
11.2.3 二维条形码
11.2.4 位置与时间
11.2.5 本地化
11.2.6 图标和图片的使用
11.3 创建Pass
11.3.1 创建Pass证书
11.3.2 数字签名与打包Pass文件
11.4 发布Pass
11.4.1 E?mail发布
11.4.2 Web网站发布
11.5 Pass Kit编程
11.5.1 实例: MyPass实例设计与说明
11.5.2 准备工作
11.5.3 访问Passbook
11.5.4 添加与替换Pass
11.5.5 删除Pass
本章 小结
实战篇
第12章 重构MyNotes应用——iOS网络通信中的设计模式与架构设计
12.1 移动网络通信应用的分层架构设计
12.2 基于委托模式实现
12.2.1 网络通信与委托模式
12.2.2 异步网络通信中委托模式实现分层架构设计
12.2.3 类图
12.2.4 时序图
12.2.5 数据持久层代码实现
12.2.6 业务逻辑层代码实现
12.2.7 表示层代码实现
12.3 基于观察者模式通知机制实现
12.3.1 观察者模式的通知机制回顾
12.3.2 异步网络通信中通知机制实现分层架构设计
12.3.3 类图
12.3.4 时序图
12.3.5 数据持久层代码实现
12.3.6 业务逻辑层代码实现
12.3.7 表示层代码实现
本章 小结
第13章 iOS敏捷开发项目实战——价格线酒店预订iPhone客户端开发
13.1 应用分析与设计
13.1.1 应用概述
13.1.2 需求分析
13.1.3 原型设计
13.1.4 架构设计
13.2 iOS敏捷开发
13.2.1 敏捷开发宣言
13.2.2 iOS可以敏捷开发
13.2.3 iOS敏捷开发一般过程
13.3 任务1: 创建应用基本工作空间
13.3.1 迭代1.1 创建业务逻辑层工程
13.3.2 迭代1.2 创建表示层工程
13.4 任务2: 业务逻辑层开发
13.4.1 迭代2.1 编写搜索酒店的业务逻辑层类
13.4.2 迭代2.2 编写房间查询业务逻辑类
13.5 任务3: 表示层开发
13.5.1 迭代3.1 根据原型设计初步设计故事板
13.5.2 迭代3.2 搜索酒店模块
13.5.3 迭代3.2.1 选择城市视图控制器
13.5.4 迭代3.2.2 选择关键字视图控制器
13.5.5 迭代3.2.3 选择价格和日期拾取器
13.5.6 迭代3.2.4 酒店搜索视图控制器
13.5.7 迭代3.2.5 酒店搜索列表视图控制器
13.5.8 迭代3.3 房间查询模块
猜您喜欢