图书前言

前    言

   iPhone和iPad在近几年中获得了巨大成功,这个现象也可以说明,有越来越多的应用开发者已经在开发高端的多功能应用了。如今,应用及多媒体内容不必通过各种封装形式即可提供给用户。基于Web的移动应用可同时利用传统Web应用、原生应用、多媒体音视频和移动设备的优势。

  本书涵盖了为iOS开发基于Web的应用时需要了解的方方面面。例如,如何从头开始开发一个移动应用、如何借助现有的开源框架进行快速开发、如何模拟iOS内置应用的外观和使用体验、如何捕获并处理触摸操作以及如何针对Wi-Fi等无线网络对应用进行优化等。

本书读者对象

   本书主要面向那些希望自己开发一款iOS应用,或将现有应用迁移到iOS上来的所有初学者和中级Web开发者。要学习本书,您最好对以下一些技术具备实际使用经验: 

HTML/XHTML

CSS

JavaScript

Ajax

   如果并没有太多使用以上几种技术的经验,建议您注意认真学习本书前几章中介绍的内容。

本书主要内容

   本书向读者介绍了在iOS平台上进行Web应用开发的各个方面。其中不仅包括从头开始开发一款应用的详细流程,还介绍了将原有Web应用迁移到iOS移动平台上的方法。在这一系列的介绍过程中,我们还将让读者了解如何为iOS触摸屏优化用户界面,以及如何在自己的应用中集成iPhone中的电话、邮件、地图和GPS等系统服务。

内容安排

   本书中每一章节所介绍的主要内容如下所示:

   第1章“使用Web技术开发iOS应用简介”带你了解Safari开发平台,并介绍为iOS开发应用的不同方式。

   第2章“相关核心技术”简要介绍在开发iOS Web应用时用到的各种关键技术。

   第3章“文档对象模型”讲述将HTML网页视为树状结构的方法,以便你在应用中访问并控制网页中的各种元素。

   第4章“编写第一个Hello World应用”指导读者一步一步地开发出第一个iOS应用。

   第5章“为iPhone和iPad制作并优化网站”介绍如何让现有网站兼容移动版Safari浏览器,以及如何进一步将网站优化为功能完备的Web应用。

   第6章“为iPhone设计UI”介绍在为iPhone和iPod touch上的Safari浏览器设计优质的用户界面时需要学习的主要设计理念和原则。

   第7章“为iPad设计UI”了解如何为iPad设计UI,及其与面向iPhone进行设计时有哪些差异。

   第8章“使用CSS指定样式”介绍为iOS开发Web应用时,如何针对Safari浏览器指定需要的样式。

   第9章“界面编程”从代码的层面介绍如何为iPhone和iPad Web应用开发界面。

   第10章是“处理触摸交互和事件”iOS设备的核心特征就是其触摸屏界面。该章将介绍如何通过编程方式来处理触摸交互,以及如何捕获JavaScript事件。

   第11章是“特效和动画”Safari中支持的Canvas技术为渐变和遮罩等高级图形技术提供了一种理想的实现环境。

   第12章“与iOS服务集成”讨论如何在Web应用中集成电话、邮件、地图和GPS等核心服务。

   第13章“将应用打包为书签:小书签和数据URL”介绍如何借助小书签和数据URL这两种鲜为人知的Web技术,让Web应用部分实现脱机支持。

   第14章是“Canvas编程”移动版本的Safari对Canvas绘图提供了完整的支持,这给了开发者很大的创作空间。该章将主要介绍与此相关的一系列高级技术。 

   第15章“脱机应用”介绍如何使用HTML5的脱机缓存技术来开发无需实时连接到服务器即可运作的本地Web应用。 

   第16章“使用Web应用框架进行开发”着重介绍了几种在iPhone Web应用中常用的开源移动开发框架,以及如何分别利用这些框架来提高开发效率。 

   第17章“带宽和性能优化”首先介绍在基于Web的应用中最典型的几种性能问题,随后则逐一介绍开发者们可以利用哪些技术来缓解性能上的限制,优化带宽占用,提高应用的执行效能。

   第18章“调试和部署”介绍调试Safari Web应用时的几种主要方法。  

   第19章“为原生iOS开发做准备”逐步介绍加入Apple开发者计划的步骤,以及要在App Store上发布应用之前需要获取的各种凭据。 

   第20章是“PhoneGap:使用HTML、CSS和JavaScript开发原生应用”您知道如何把一个Web应用变成原生的iPhone应用吗?该章就将介绍具体的转换手段,并教会读者一步步将Web应用封装在原生iOS外壳中的方法。

   第21章“将应用提交到App Store”将介绍将自己开发的应用提交到App Store中分发给所有用户使用的步骤。

软硬件需求

    如果您要动手练习本书中的各个示例,需要用到的软硬件包括:

iPhone、iPad或iPod touch

Mac版本的Safari

   另外,本书中所有示例的源代码都可以从www.wrox.com网站下载得到。

本书约定

   为了帮助读者在阅读本书的过程中获取最多信息,并随时了解当前处理的事项,本书使用了许多约定。

  

   

   

   

   

   

   

   本书通过两种方式来显示代码:

对于大多数代码示例,使用没有突出显示的等宽字体来表示。

对在当前上下文中特别重要的代码,用粗体字来强调显示。

源代码

   当您在完成本书的示例过程中,既可以手动输入所有代码,也可以使用与本书配套的源代码文件。书中所有的所有源代码都可以通过www.wrox.com或www.tupwk.com.cn/ downpage下载。在访问该网站时只需要找到本书的标题(可以通过Search框或者标题列表来查找),然后单击本书详细资料页面中的Download Code超链接来获取所有的源代码。其中包含在Web网站的代码用下面所示的图标来突出显示:

  

   

   程序清单中包括了相应的文件名。如果仅仅是一个代码片段,那么在代码注释中将会看到下面所示的文件名:

  

代码片段文件名

   

   

   

   

   

   在下载了代码后,请用您所喜欢的解压缩工具进行解压。或者也可以访问Wrox主下载页面来查看本书或者其他Wrox书籍的代码。

勘误表

   尽管我们竭尽所能来确保在正文和代码中没有错误,但人无完人,错误在所难免。如果您在Wrox出版的书中发现了错误(例如拼写错误或代码错误),我们将非常感谢您的反馈信息。发送勘误表将节省其他读者的时间,同时也会帮助我们提供更高质量的信息。

   要找到本书的勘误页面,可以进入http://www.wrox.com,使用Search搜索框或书名列表定位本书,然后在Book Search Results页面上单击Errata链接。在这个页面上可以查看为本书提交的、Wrox编辑粘贴上去的所有勘误信息。完整的书名列表(包括每本书的勘误表)也可以从www.wrox.com/misc-pages/booklist.shtml上获得。

   如果您在本书的勘误页面上没有看到您发现的错误,那么请单击Errata Form链接填写表单,把您发现的错误发给我们。我们会检查这些信息,如果属实,就把它添加到本书的勘误页面上,并在本书随后的版本中更正错误。

   另外,在阅读本书的过程中,如果您有任何意见,或者想要发表自己的看法,请通过邮箱wkservice@vip.163.com与我们联系。

p2p.wrox.com

   如果想和作者或同行进行讨论,请加入p2p.wrox.com上的P2P论坛。该论坛是一个基于Web的系统,您可以发布有关Wrox图书及相关技术的消息,与其他读者或技术人员交流。该论坛提供了订阅功能,当您感兴趣的主题有新帖子发布时,系统会向您发送邮件。Wrox的作者、编辑、其他业界专家和像您一样的读者都会出现在这些论坛中。

   在http://p2p.wrox.com网站上,您会找到很多不同的论坛,它们不但有助于您阅读本书,还有助于您开发自己的应用。加入论坛的步骤如下:

   (1) 进入p2p.wrox.com,单击Register链接。

   (2) 阅读使用条款,然后单击Agree按钮。

   (3) 填写加入该论坛必需的信息和其他您愿意提供的信息,单击Submit按钮。

   (4) 您将收到一封电子邮件,描述如何验证您的账户和完成加入过程。

   

   

   

   

   加入论坛后,就可以发布新的消息和回复其他用户发布的消息。可以随时在Web上阅读论坛里的消息。如果想让某个论坛的新消息以电子邮件的方式发给您,可以单击论坛列表中论坛名称旁边的Subscribe to this Forum图标。

   要了解如何使用Wrox P2P的更多信息,请阅读P2P FAQ,其中回答了论坛软件如何使用的问题,以及许多与P2P和Wrox图书相关的问题。要阅读FAQ,单击任何P2P页面上的FAQ链接即可。