新書推薦:
《
詹姆斯·伍德系列:不负责任的自我:论笑与小说(“美国图书评论奖”入围作品 当代重要文学批评家詹姆斯·伍德对“文学中的笑与喜剧”的精湛研究)
》
售價:NT$
398.0
《
武当内家散手
》
售價:NT$
230.0
《
诛吕:“诸吕之乱”的真相与吕太后时期的权力结构
》
售價:NT$
454.0
《
炙野(全2册)
》
售價:NT$
356.0
《
女人的胜利
》
售價:NT$
254.0
《
数据有道:数据分析+图论与网络+微课+Python编程(鸢尾花数学大系:从加减乘除到机器学习)
》
售價:NT$
1214.0
《
500万次倾听:陪伤心的人聊聊
》
售價:NT$
245.0
《
英国商业500年(见证大国崛起与企业兴衰,启迪未来商业智慧。)
》
售價:NT$
367.0
內容簡介:
iPhone SDK现在称为iOS的发布引发为iPhone创建应用的热潮。为了将iOS应用开发推向新高度,本书作者通过各种有效的方法、鲜活的示例与最佳实践实现了iOS应用与其他系统如网络主机或其他移动设备的无缝连接。无论是新手还是经验丰富的开发人员,都会从作者解决网络系统集成、安全与设备管理的方式中获益无穷,从而可以构建更棒、更可靠的应用。
關於作者:
Jack Cox是软件开发者、系统架构师以及CapTech Ventures公司的总监,负责公司的移动软件开发。他有着30年的各种业务软件开发经验、涉足过3家创业公司、拥有多项专利,并且经常在各种专业小组中发表演讲。他拥有位于印第安纳州阿普兰的泰勒大学的计算机科学学位。Jack现在与妻子和孩子居住在弗吉尼亚州里士满。可以在Twitter上通过@jcox_mobile联系到他。
Nathan Jones是一位在iOS方面颇具经验的软件工程师,同时也有着丰富的移动Web技术开发经验。他的职业生涯从企业软件咨询开始,当Apple宣布可以为iPhone开发第三方应用时,他开始了对移动开发的探索。他毕业于弗吉尼亚理工学院和州立大学,拥有商业信息技术科学学士学位,主要关注于决策支持系统。目前,Nathan与妻子Jennifer和儿子Bryson居住在弗吉尼亚州里士满。在工作、写作以及陪儿子玩耍的间隙,他喜欢打高尔夫,同时还是一位跑者。可以在Twitter上通过@nathanhjones联系到他。
John Szumski是软件工程师和移动咨询顾问,在iOS、Android与移动Web平台方面拥有丰富的经验。他曾为多家财富500强公司做过关于用户体验与技术设计方面的咨询。他以优异的成绩毕业于弗吉尼亚州夏洛茨维尔市的弗吉尼亚大学,拥有计算机科学学士学位。目前,John与未婚妻居住在弗吉尼亚州里士满。可以在Twitter上通过@jszumski联系到他。
目錄 :
目 录
第Ⅰ部分 理解iOS与企业网络
第1章
iOS网络功能介绍 3
1.1 理解网络框架 3
1.2 iOS网络API 4
1.2.1 NSURLConnection 4
1.2.2 Game Kit 5
1.2.3 Bonjour 5
1.2.4 NSStream 5
1.2.5 CFNetwork 6
1.2.6 BSD socket 6
1.3 运行循环 6
1.4 小结 8
第2章 设计服务架构 9
2.1 远程门面模式 10
2.1.1 门面服务示例 12
2.1.2 门面客户端示例 14
2.2 服务版本化 17
2.2.1 版本化服务示例 18
2.2.2 使用版本化服务的客户端示例 18
2.3 服务定位器 20
2.4 小结 24
第Ⅱ部分
HTTP请求:iOS网络功能
第3章 构建请求 27
3.1 HTTP介绍 28
3.2 理解HTTP请求与响应 29
3.2.1 URL结构 30
3.2.2 请求内容 31
3.2.3 响应内容 33
3.3 高层iOS HTTP API 34
3.3.1 所有请求类型共用的对象 34
3.3.2 同步请求 38
3.3.3 队列式异步请求 41
3.3.4 异步请求 43
3.4 高级HTTP操作 51
3.4.1 使用请求方法 51
3.4.2 操纵Cookie 53
3.4.3 头信息操作进阶 58
3.5 小结 61
第4章 生成与解析负载 63
4.1 Web Service协议与风格 64
4.1.1 简单对象访问协议 64
4.1.2 表述性状态转移 65
4.1.3 选择一种方式 66
4.2 负载 67
4.2.1 负载数据格式简介 67
4.2.2 解析响应负载 70
4.2.3 生成请求负载 83
4.3 小结 90
第5章 错误处理 91
5.1 理解错误源 91
5.1.1 操作系统错误 93
5.1.2 HTTP错误 98
5.1.3 应用错误 99
5.2 错误处理的经验法则 101
5.2.1 在接口契约中处理错误 101
5.2.2 错误状态可能不正确 101
5.2.3 验证负载 101
5.2.4 分离错误与正常的业务状况 102
5.2.5 总是检查HTTP状态 102
5.2.6 总是检查NSError值 102
5.2.7 使用一致的方法来处理错误 102
5.2.8 总是设置超时时间 102
5.3 优雅地处理网络错误 102
5.3.1 设计模式介绍 103
5.3.2 指挥调度模式示例 107
5.4 小结 112
第Ⅲ部分 高级网络技术
第6章 保护网络传输 115
6.1 验证服务器通信 116
6.2 HTTP认证 120
6.2.1 HTTP Basic、HTTP Digest与NTLM认证 120
6.2.2 客户端证书认证 122
6.3 使用哈希与加密确保消息完整性 126
6.3.1 哈希 127
6.3.2 消息认证码 130
6.3.3 加密 134
6.4 在设备上安全地存储认证信息 145
6.5 小结 148
第7章 优化请求性能 149
7.1 度量网络性能 149
7.1.1 网络带宽 150
7.1.2 网络延迟 151
7.1.3 设备电量 152
7.2 优化网络操作 153
7.2.1 减少请求带宽 153
7.2.2 降低请求延迟 159
7.2.3 避免网络请求 160
7.3 小结 163
第8章 底层网络 165
8.1 BSD Socket 165
8.1.1 配置Socket服务器 167
8.1.2 Socket客户端连接 167
8.2 CFNetwork 172
8.3 NSStream 176
8.4 小结 180
第9章 测试与操纵网络流量 181
9.1 观测网络流量 182
9.1.1 嗅探硬件 182
9.1.2 嗅探软件 183
9.2 操纵网络流量 190
9.2.1 配置Charles 192
9.2.2 HTTP断点 194
9.2.3 重写规则 196
9.3 模拟实际的网络状况 198
9.4 小结 200
第10章 使用推送通知 201
10.1 调度本地通知 202
10.1.1 创建本地通知 202
10.1.2 取消本地通知 205
10.1.3 处理本地通知的到达 207
10.2 注册并响应远程通知 210
10.2.1 配置远程通知 211
10.2.2 注册远程通知 217
10.2.3 远程通知负载 222
10.2.4 发送远程通知 223
10.2.5 响应远程通知 227
10.3 理解通知最佳实践 231
10.4 小结 232
第Ⅳ部分 应用间网络通信
第11章 应用间通信 235
11.1 URL方案 235
11.1.1 实现自定义的URL方案 236
11.1.2 感知其他应用的存在 239
11.1.3 高级通信 240
11.2 共享钥匙串 244
11.2.1 企业SSO 244
11.2.2 检测应用之前的安装 250
11.3 小结 252
第12章 使用Game Kit实现设备间通信 253
12.1 Game Kit基础 254
12.2 点对点网络 257
12.2.1 连接到会话 257
12.2.2 向端点发送数据 260
12.3 客户端-服务器通信 264
12.4 小结 266
第13章 使用Bonjour实现自组织网络 267
13.1 zeroconf概览 268
13.1.1 寻址 268
13.1.2 解析 268
13.1.3 探测 269
13.2 Bonjour概览 270
13.2.1 发布服务 270
13.2.2 浏览服务 275
13.2.3 解析服务 278
13.2.4 与服务进行通信 280
13.3 实现基于Bonjour的应用 284
13.3.1 员工应用 285
13.3.2 顾客应用 293
13.4 小结 302