我们现在正步入新的世界,移动设备逐渐成为人们与Internet互联的主要方式,开发移动设备应用正成为人们新的追求。供应商之间的竞争也日趋白热化,这导致市场中充满了各种各样的设备。
我们看到各个供应商都在为自己的设备提供开发工具与市场,并希望围绕着自己的产品创建软件生态圈。在很大程度上,一些供应商的战略也是这样的。开发者使用这些工具并为特定的设备创建“原生”应用,然后需要重新构建应用的大部分内容以面向各种不同的设备。
对于构建移动应用的公司来说,这是可接受的方式。然而,从长远来看,这种方式是行不通的。考虑到拥有Web产品的每个公司在未来几年间都需要为多种设备提供桌面版的Web应用与适合的移动客户端。再考虑软件开发者的数量——就像你我,还有其他开发者。我们拥有必要的资源满足这种需求吗?我没有。一定会有更好的方式。确实是有的。
构建移动Web应用是更好的方式。这是一种移动应用开发的方式,你只需要重写很少的代码就可以满足市场上存在的众多设备的需求。本书关注于为Android编写移动Web应用,但实际上,很多概念也可以轻松移植到其他移动设备上(这是重点)。
何谓移动Web应用
移动Web应用就是使用核心客户端Web技术HTML、CSS与JavaScript构建,并且专门针对移动设备的应用。吸引人们关注移动Web应用是HTML5与CSS3的趋势——这两个技术的“最新版”。本书会详细介绍HTML5、CSS3和JavaScript。
JavaScript是令很多开发者又爱又恨的语言。有些人甚至都不把它看做是一门编程语言。然而,JavaScript很可能会成为未来5年内最需要的技能之一。
本书使用了哪些技术
本书将会使用大量JavaScript代码。显然还会使用很多HTML与CSS,但JavaScript确实是适合于移动Web应用开发的语言。
如果不熟悉JavaScript,那么我们并不会将你置于纷繁复杂的JavaScript代码中,我们会推荐一些学习资料,因为这并非一本JavaScript基础书。我们还大量使用了优秀的jQuery JavaScript库以简化开发。如果不熟悉jQuery,那么我们建议你看看jQuery教程。如果熟悉Prototype、MooTools或是其他的jQuery“竞争者”,那么你可以很轻松地修改书中的示例代码。
对于移动Web应用来说(以及其他的富JavaScript Web应用),掌握如何组织应用以保证可读性与可维护性是很重要的。这正是本书中使用了很多小应用项目而非代码片段来展示特定功能的原因所在。这样你就可以熟悉移动Web应用开发的方方面面,还能理解如何高效地整合真实世界中的移动Web应用。
如果熟悉Web应用开发,那么通过本书的学习,你就可以轻松转换到移动Web应用开发上来。但如果你熟悉移动应用开发,想要学习Web应用开发方式,那么学习额外的资料将是非常重要的。
本书内容
本书围绕着两个应用示例展开,你会从中学习到移动Web应用开发的方方面面。第2章~第6章介绍了首个迷你应用,它是一个简单的“任务清单列表”应用,第8章~第12章则从头开始介绍如何构建一个简单的位置感知游戏。
在这两顿大餐之间还有3章作为“点心”。第1章主要介绍了编写Android Web应用的基本概念。第7章简要介绍了交互性与HTML5 canvas。第13章介绍了移动应用世界的未来。
