第Ⅰ部分 入门 3
第1章 使用Web技术开发iOS应用简介 3
1.1了解iOS平台上的Safa浏览器 3
1.2开发者可以利用的主要Safa特性 6
1.3为iOD开发Web应用的四种方式 7
1.4勿将手指当鼠标 8
1.5资源限制和技术局限 9
1.6设置本地网络中的开发环境 10
第2章 相关核心技术 13
2.1了解HTML5媒体元素 13
2.2编写JavaScript脚本 16
2.2.1语法和基本规则 16
2.2.2变量 17
2.2.3运算符 23
2.2.4保留字 25
2.2.5基本条件表达式 25
2.2.6循环 29
2.2.7注释 30
2.2.8函数 32
2.2.9数据类型 36
第3章 文档对象模型 43
3.1 DOM的含义 43
3.2 DOM的树型结构 44
3.3使用JavaScript代码访问DOM 46
3.3.1访问特定的元素 46
3.3.2访问一组元素 47
3.3.3访问家族成员 48
3.3.4检索特性 48
3.4操作DOM 49
3.4.1新建元素及其他节点 50
3.4.2将节点添加到DOM中 50
3.4.3新建其他元素 51
3.4.4设置特性的值 54
3.4.5移动节点 55
3.4.6复制节点 55
3.4.7从DOM中移除节点 56
3.4.8移除特性 56
第4章 编写第一个Hello World应用 59
4.1设置 59
4.2创建主页文件 60
4.3创建主屏幕 61
4.4添加详细信息页面 63
第5章 为iPhone和iPad启用并优化网站 71
5.1第1级:兼容iOS 72
5.2第2级:导航方式较为友好 74
5.2.1了解视口 74
5.2.2为页面分块 76
5.2.3定义多栏结构 78
5.3第3级:自定义样式 78
5.3.1媒体查询 79
5.3.2调整文字的大小 79
5.3.3案例研究:启用一个现有网站 80
5.4第4级:专用网站 83
第Ⅱ部分 应用的设计 89
第6章 为iPhone设计UI 89
6.1 UI设计的发展历程 89
6.2 iPhone的视口 90
6.3了解iOS的设计模式 92
6.3.1为应用分类 92
6.3.2在列表式UI设计中进行导航 94
6.3.3应用的模式 95
6.4了解屏幕布局 96
6.4.1标题栏 96
6.4.2全屏化的导航列表 96
6.4.3目标页面的圆角矩形设计 97
6.5为触摸操作设计UI 98
6.6字体的使用 99
6.7 iOS UI设计的最佳实践 100
6.8画龙点睛的工作 101
第7章 为iPad设计UI 105
7.1针对iPad的注意事项 105
7.1.1设计基础 106
7.1.2处理内容滚动 106
7.1.3分割视图设计模式 107
7.2针对iPad设计UI 108
第8章 使用CSS指定样式 121
8.1 Safari中支持的CSS选择器 121
8.2文字样式 123
8.2.1使用webk it-text-size-adjust控制文字大小 123
8.2.2使用text-overflow处理溢出的文字 124
8.2.3使用text-shadow生成细部阴影 127
8.3为区块元素设置样式 127
8.3.1使用-webkit-border-image设置图像边框 127
8.3.2使用-webkit-border-radius设置圆角效果 128
8.3.3使用-webkit-appearance设置下压按钮渐变色 129
8.3.4多重背景图像 130
8.4设置透明度 130
8.5生成基于CSS的iOS按钮 132
8.6了解兼容性问题 134
第Ⅲ部分 应用的开发 137
第9章 界面编程 137
9.1应用的上层 138
9.1.1使用顶级元素的样式 139
9.1.2添加顶部工具栏 141
9.1.3添加顶级导航菜单 143
9.2使用内部URL来显示窗格 144
9.3创建二级导航列表 146
9.4设计较长的导航列表 147
9.5创建目标页面 148
9.6添加对话框 152
9.7对UI行为进行脚本编程 163
9.7.1处理文档加载过程 163
9.7.2加载标准iUI页面 165
9.7.3处理链接点击操作 167
9.7.4加载对话框 169
第10章 处理触摸交互和事件 171
10.1触摸事件的三种类型 171
10.2鼠标模拟事件 172
10.2.1许多事件会被自动处理 172
10.2.2条件事件 172
10.2.3鼠标事件:只考虑“点击”,不考虑“移动” 173
10.2.4可点击的元素 173
10.2.5事件流 174
10.2.6不支持的事件 174
10.3触摸事件 175
10.4手势事件 177
10.5检测方向变化 178
10.6 根据方向变化移动元素的位置 183
10.7捕获屏幕键盘的按键事件 185
第11章 特效和动画 187
11.1渐变效果 187
11.1.1生成CSS渐变效果 187
11.1.2使用JavaScript生成渐变效果 190
11.2添加阴影效果 192
11.3添加反射效果 193
11.4使用遮罩效果 195
11.5生成变形特效 196
11.6生成动画效果 198
第12章 与iOS服务集成 201
12.1通过Web应用打电话 201
12.2发送电子邮件 204
12.3发送短信 206
12.4在地图上指示位置 207
第13章 将应用打包为书签:小书签和数据URL 211
13.1使用小书签 211
13.1.1将小书签添加到iOS的Safari中 212
13.1.2了解小书签的使用方法 213
13.2将应用保存在数据URL中 215
13.3开发基于数据URL的应用 216
第Ⅳ部分 高级编程技术 225
第14章 canvas编程 225
14.1识别iOS的用户代理 225
14.2 iOS的canvas编程 228
14.3定义canvas元素 228
14.4获取Context对象 228
14.5绘制简单矩形 229
14.6绘制其他形状 231
14.7绘制图像 234
14.7.1绘制图像的高级方法 235
14.7.2绘制编码后的图像 236
14.8添加颜色和透明度 238
14.9使用图像来生成图案 239
第15章 脱机应用 243
15.1 HTML5脱机应用缓存 243
15.1.1创建清单文件 244
15.1.2引用清单文件 245
15.1.3编程控制缓存 245
15.1.4检查连接状态 246
15.2使用键值对存储 249
15.2.1保存键值对 250
15.2.2加载键值对数据 251
15.2.3删除键值对数据 251
15.3通过JavaScript使用SQL数据库 256
15.3.1打开数据库 257
15.3.2查询表 257
第16章 使用Web应用框架进行开发 259
16.1使用移动版jQuery 259
16.2使用iWebKit 265
第17章 带宽和性能优化 273
17.1优化方法 273
17.2减少带宽占用的最佳实践 274
17.2.1总体优化 274
17.2.2图像优化 274
17.2.3 CSS和JavaScript优化 275
17.3压缩应用 276
17.3.1 gzip文件压缩 276
17.3.2 JavaScript代码压缩 276
17.4 JavaScript性能优化 277
17.5局部变量与全局变量 280
17.6点记法和属性查找 281
17.61避免嵌套调用属性 281
17.6.2访问已命名的对象 281
17.6.3在循环内部查找属性 281
17.6.4字符串的连接 282
17.7注意事项 283
第18章 调试和部署 285
18.1在开发机上模拟iPhone或iPad 285
18.1.1 Xcode中的iOS模拟器 286
18.1.2使用Mac或Windows上的safari 288
18.2使用桌面版Safari中的调试工具 289
18.2.1使用Develop菜单 289
18.2.2使用safari的网页检查器 290
18.2.3使用脚本检查器 292
18.3在iOS设备上进行调试 293
18.3.1调试控制台 293
18.3.2 DOM查看器 294
第Ⅴ部分 后续步骤:用HTML和JavaScript开发原生iOS应用 299
第19章 为原生iOS开发做准备 299
19.1下载Xcode 299
19.2加入iOS开发者计划 300
19.3获得iOS开发者证书 301
19.4获取开发者证书 303
19.5添加用于测试的设备 303
19.6创建AppID 304
19.7新建信息提供配置文件 305
19.8安装开发信息提供配置文件 307
第20章 PhoneGap:使用HTML、CSS和JavaScript开发原生应用 309
20.1安装PhoneGap 309
20.2在Xcode中新建PhoneGap项目 310
20.3运行基本项目 311
20.4将Web文件添加到Xcode项目中 312
20.5合并Web应用的代码 313
20.6调整Xcode项目 322
20.6.1允许外部引用 322
20.6.2在Safari中打开外部链接 323
20.6.3为应用添加图标和初始图像 323
20.7运行已调整完毕的应用 324
第21章 将应用提交到App Store 327
21.1第1步:获得一个分发证书 328
21.2第2步:新建信息提供配置文件 329
21.3第3步:为应用生成一个分发版本 331
21.4第4步:将应用提交到App Store 333
附录A 练习答案 337
附录B iOS设备分辨率参考表 343