标题：移动云计算应用开发入门经典
图书简介
本书作为构建移动应用程序和云服务的实用向导，对于那些渴望利用云服务(例如Amazon Web Services)的强大能力作为支持，为移动设备创建跨平台应用程序的Web开发人员来说，是一本必不可少的读物。作者Richard Rodger一步步地引导你使用HTML5构建自己的第一个应用程序，在云计算中设置应用程序，并且使用云计算数据库。本书通过丰富的示例向你展示如何构建完整的应用程序，提升你已有的技能，并且可以充当一个跳板，帮助你进入移动开发和云计算开发的世界。[1]
图书信息
ISBN：9787302306580定价：59元印次：1-1装帧：平装印刷日期：2012-12-20
作者：Richard Rodger 著 王英群、赵松德 译[1]
图书前言
你可以仅使用HTML、CSS和JavaScript来构建高质量的移动应用程序，并且可以使用JavaScript构建云服务来支持这些应用程序。你不需要学习Objective-C或Java就可以交付高质量的iPhone和Android移动应用程序。
本书展示了如何使用你已经具备的Web开发技能，开始在移动应用行业中工作。有了像PhoneGap和Node.js这样新的开源技术的支持，就可以加入HTML5这个新的行业发展领域。一些优秀的平台，如Facebook和The Financial Times，都推出了HTML5的移动应用程序，这表明现在时机已经成熟，将进入一个新的阶段，对你的开发技能将有更高的要求。
遵循HTML5规范进行开发是行业的一种发展趋势，另一种趋势就是云计算。在不久的将来，云计算将是大多数软件服务交付的首选方式。本书将介绍如何使用像Amazon这样的云托管服务，如何使用像MongoDB这样的云数据库，以及如何集成社交媒体网站Twitter和Facebook进行验证，并使用Node.js技术在生产环境中构建大型的、高可靠性的云API，以支持你的移动应用程序。
我们编写这本书旨在帮助读者快速掌握进入这个行业所需要的实际技能和工具。本书中的重点很突出，包含了完整的代码示例(包括错误处理)，可以将其应用到你自己的项目中。在阅读本书的过程中，你将构建3个完整的移动应用程序，每一个示例都涵盖了移动应用程序开发和云计算中的关键技术点。在编写本书的过程中，通过使用备受争议的JavaScript开发语言，我重新发现了编程的快乐。摆脱了多年的Java语言的束缚，编程再次变得很有趣！
本书读者对象 
本书面向两个非常不同的目标群体。首先是前端Web开发人员。这些开发人员已经了解HTML、CSS和JavaScript，但确实很希望可以尝试在服务器端编写代码。这些开发人员以自己的方式了解了Ruby、PHP或Perl这些服务器端的编程语言，但还是最希望建立神奇的用户界面和网站。他们想进入移动应用开发的世界，但不知道投资时间来学习Objective-C和Java是否值得。本书将告诉这些读者如何利用现有的技能，马上开始移动应用开发。使用JavaScript，不仅可以开发客户端的应用程序，也可以开发服务器端的应用程序！
本书针对的第二个目标群体是服务器端的开发人员。多年来这些开发人员可能一直在使用Java或C#进行编码，需要改变一下。在移动开发方面，这些开发人员想试试自己的能力，当然，他们可能已经为应用程序设计了云服务。本书将介绍如何使用标准的Web语言来构建应用程序的用户界面，以及如何构造JavaScript以达到这些开发人员习惯使用的Java和C#的水平。虽然JavaScript是一种脚本语言，但它的功能比你想象的更强大。本书还展示了如何使用服务器端的JavaScript。通过使用JavaScript，这些开发人员可以在客户端和服务器编码之间顺利地切换，而没有任何障碍，并且可以使用Node.js建立大型的基于事件的服务器。这些开发人员的工作效率将增加一倍(对于我来说是这样的！)，并且可以准备构建下一个高质量的云服务。
本书中的材料是累积的。你可以把它看作一本逐步深入扩展的教程，引导你一步步从最初的原理到客户端和生产应用程序。每一章都将你带入了另一个层面。大多数章节都涵盖了客户端和服务器端的主题，这些主题介绍了它们之间的相互依赖关系。对于你可能已经熟悉的主题，如jQuery，可以随意跳过那部分的介绍。但你要确保阅读了代码。许多情况下，旧技术的应用可以采用多种新的方式。
每章后面的练习题并不旨在测试你已经了解的知识。它们中的大多数是要求你做一些新的事情，重点是突出你需要思考的主题，或带你研究一个有趣的问题。而对于在附录中给出的解决方案，你可以将其看作建议。相信你自己的能力。
图书目录
目 录
第1章 基于云的移动应用程序介绍 / 1
1.1 如何在云中构建移动应用程序 / 1
1.1.1 使用现有的技能集 / 2
1.1.2 开发工具的选择 / 3
1.1.3 你将学习的技能 / 3
1.2 应用程序开发行业的两个发展
方向 / 4
1.2.1 Web应用程序的现状与发展 / 4
1.2.2 未来的云计算 / 6
1.3 入门 / 6
1.3.1 使用JavaScript函数 / 7
1.3.2 WebKit浏览器引擎 / 19
1.3.3 改变颜色的应用程序 / 20
1.3.4 nginx Web服务器介绍 / 24
1.4 本章小结 / 27
第2章 移动化应用程序 / 29
2.1 开发触摸感应的绘图应用程序 / 29
2.1.1 如何在屏幕上绘图 / 30
2.1.2 响应触摸事件绘图 / 36
2.1.3 运用DRY原则 / 42
2.2 使用Amazon的云服务 / 49
2.2.1 地理位置如何影响Amazon 
AWS服务 / 50
2.2.2 使用EC2 / 50
2.2.3 部署移动Web应用程序 / 56
2.2.4 将移动应用程序部署到服务器
实例 / 60
2.3 本章小结 / 62
第3章 构建移动Web应用程序 / 65
3.1 移动Web应用程序可以实现的
功能 / 65
3.1.1 定位用户 / 66
3.1.2 响应设备方向的变化 / 68
3.1.3 更多的功能 / 69
3.1.4 在iPhone设备上安装移动Web
应用程序 / 70
3.1.5 在Android设备上安装移动
Web应用程序 / 70
3.2 jQuery和jQuery Mobile介绍 / 71
3.2.1 jQuery库 / 72
3.2.2 jQuery Mobile库 / 76
3.3 构建待办事项列表应用程序 / 84
3.4 本章小结 / 100
第4章 增强应用程序 / 103
4.1 使用应用程序缓存 / 103
4.2 处理触摸事件 / 107
4.2.1 触摸事件 / 108
4.2.2 手势事件 / 109
4.3 嵌入交互地图 / 118
4.4 提供应用程序图标与初始屏幕 / 122
4.5 本章小结 / 123
第5章 在云中构建应用程序 / 125
5.1 服务器端的JavaScript / 126
5.1.1 Node应用程序平台介绍 / 126
5.1.2 安装Node / 127
5.1.3 使用Node Package Manager / 131
5.1.4 MongoDB数据库介绍 / 134
5.2 待办事项列表应用程序的
云分析 / 140
5.2.1 执行分析计算 / 140
5.2.2 系统架构设计 / 142
5.2.3 收集使用数据 / 149
5.2.4 提交使用数据 / 154
5.2.5 生成使用数据图表 / 156
5.3 本章小结 / 164
第6章 使用云 / 167
6.1 经典的云架构 / 167
6.1.1 REST方法 / 168
6.1.2 云数据库 / 169
6.2 Amazon SimpleDB简介 / 170
6.2.1 SimpleDB云存储的方法 / 170
6.2.2 SimpleDB API / 171
6.3 将待办事项列表应用程序放入
云中 / 171
6.3.1 Simpledb库简介 / 172
6.3.2 构建一个命令行客户端 / 178
6.3.3 使用云中的时间 / 186
6.3.4 运行云服务器 / 187
6.3.5 与云同步 / 192
6.4 本章小结 / 198
第7章 增强用户体验 / 201
7.1 创建经典的选项卡栏界面 / 201
7.1.1 实现jQuery Mobile解决方案 / 202
7.1.2 使用iScroll解决方案 / 206
7.2 启用移动音频与视频 / 211
7.2.1 在应用程序中播放音频 / 211
7.2.2 在应用程序中播放视频 / 215
7.3 在应用程序中启动其他
应用程序 / 219
7.3.1 从应用程序中启动Web
浏览器 / 219
7.3.2 从应用程序中拨打电话 / 219
7.3.3 从应用程序中发送短信 / 219
7.3.4 从应用程序中发送电子邮件 / 219
7.3.5 从应用程序中加载地图 / 220
7.3.6 从应用程序中加载YouTube / 220
7.4 本章小结 / 221
第8章 使用云服务 / 223
8.1 在Amazon S3中存储内容 / 224
8.1.1 Amazon S3的架构 / 224
8.1.2 使用Amazon S3 / 225
8.2 使用云登录 / 234
8.3 构建大型的应用程序 / 242
8.3.1 从全局考虑 / 243
8.3.2 使用缓存 / 245
8.4 本章小结 / 257
第9章 创建本机运行的混合应用程序 / 261
9.1 混合应用程序介绍 / 262
9.2 构建混合应用程序 / 262
9.2.1 构建iPhone应用程序 / 263
9.2.2 理解代码签名 / 263
9.2.3 构建Android应用程序 / 269
9.2.4 使用设备的功能 / 274
9.3 照片博客应用程序Lifestream / 279
9.3.1 上传照片 / 280
9.3.2 在Amazon S3上存储照片 / 291
9.4 本章小结 / 295
第10章 构建照片博客应用程序 / 299
10.1 Lifestream应用程序的架构 / 299
10.2 构建服务器 / 301
10.2.1 奠定基础 / 301
10.2.2 启用用户的关注 / 317
10.2.3 上传和发布照片 / 320
10.3 完成Lifestream应用程序 / 329
10.3.1 支持用户账号 / 330
10.3.2 集成社交网络身份 / 342
10.4 本章小结 / 352
第11章 使用云开发服务 / 355
11.1 了解移动应用程序开发平台 / 356
11.2 使用FeedHenry平台 / 357
11.2.1 FeedHenry技术 / 357
11.2.2 FeedHenry开发环境 / 358
11.2.3 决定使用FeedHenry / 359
11.3 使用Appcelerator平台 / 360
11.3.1 Appcelerator技术 / 361
11.3.2 Appcelerator开发环境 / 361
11.3.3 决定使用Appcelerator / 362
11.4 使用appMobi平台 / 363
11.4.1 appMobi技术 / 364
11.4.2 appMobi开发环境 / 364
11.4.3 决定使用appMobi / 365
11.5 本章小结 / 366
第12章 融入社交网络 / 367
12.1 使用Twitter API / 368
12.1.1 使用Twitter API的限制 / 370
12.1.2 使用Twitter API提供的
实体 / 370
12.1.3 需要了解的内容 / 371
12.2 直接消息的应用程序 / 374
12.2.1 设计过程 / 375
12.2.2 正确地区分可复用的代码 / 378
12.2.3 代码结构 / 382
12.2.4 没有服务器的OAuth / 391
12.2.5 调用Twitter API / 399
12.2.6 事件的消费者和生产者 / 403
12.3 本章小结 / 409
第13章 应用程序商店 / 411
13.1 发布应用程序的准备 / 412
13.1.1 图标 / 412
13.1.2 启动画面 / 414
13.1.3 截图与方向 / 414
13.1.4 应用程序元数据 / 415
13.1.5 使用应用程序商店 / 416
13.2 发布应用程序 / 417
13.3 本章小结 / 426
第14章 销售应用程序 / 427
14.1 确定营销策略 / 427
14.1.1 为他人构建应用程序 / 429
14.1.2 使用应用程序宣传自己的
公司 / 430
14.1.3 销售自己的应用程序 / 432
14.2 选择推广应用程序的战术 / 433
14.2.1 标准战术 / 434
14.2.2 昂贵战术 / 436
14.2.3 游击战术 / 437
14.3 本章小结 / 438
附录 / 441[1]