出版时间:2013-2 出版社:人民邮电出版社 作者:饶 侠,张 坚,赵莉萍
Tag标签:无
前言
当前,PhoneGap已经成为最流行的移动市场跨平台开发工具之一,越来越多的开发者和知名企业将其作为开发移动应用程序的首选移动跨平台解决方案。 PhoneGap是一个基于HTML、CSS和JavaScript创建跨平台移动应用程序的快速开发平台。与传统Web应用不同的是,它使开发者能够利用iPhone、Android等智能手机的核心本地功能(包括地理定位、加速器、联系人、声音和振动等)。此外,它还拥有非常丰富的插件,并可以凭借其轻量级的插件式架构来扩展无限的功能。 PhoneGap被Adobe公司收购之后,作为Adobe公司向Web平台进军的主打产品被寄予厚望,而其核心模块Cordova作为开源项目捐献给Apache之后也获得了众多IT巨头的支持。目前,PhoneGap的相关技术也在飞速发展,相关的资源也越来越多了。 为了使广大读者能够充分了解PhoneGap的基础知识,并且能结合HTML5相关技术开发相应的移动应用,本书全面介绍了使用PhoneGap进行程序开发的相关知识。在学习完本书之后,相信读者一定能够掌握这门技术,并可以进行实际项目的开发。 本书特色 本书详细介绍了PhoneGap从1.2到2.x的主要变化和最新特性(比如PhoneGap的嵌入式特性和命令行工具等),以及很多实际开发中比较重要的应用调试方法和开发技巧。同时,书中还深入分析了PhoneGap的源码并详细而准确地描述了JavaScript与本地代码通信的实现原理。此外,本书还结合目前比较流行的移动Web开发框架(jQuery Mobile、Backbone.js、Sencha Touch和Dojo Mobile等)给出了一些比较完整的参考实例,相信会对读者今后的应用开发有一定帮助。 本书内容 本书共17章,主要内容如下所示。 第1章首先对PhoneGap的概念、历史、现状、优缺点以及API进行了简要介绍,然后介绍了与PhoneGap密切相关的HTML5技术的发展史和新功能,最后对PhoneGap的其他相关技术做了简要描述,包括PhoneGap的主要竞争对手和目前前端开发用到的主流JavaScript框架。 第2章首先阐述了基于PhoneGap的移动本地应用的开发周期,然后介绍如何在主流的移动开发平台Android、iOS和Windows Phone上快速开发一个PhoneGap应用,最后介绍如何利用Adobe提供的PhoneGap Build给各个移动平台打包安装程序。 第3章介绍了PhoneGap如何与流行的移动Web应用开发框架(jQuery Mobile+Backbone.js、Sencha Touch和Dojo Mobile)进行整合,并通过构建MiniNote应用原型来阐述各框架的具体用法。 第4章详细介绍了如何监听和使用PhoneGap独有的各个事件。 第5章首先介绍了白名单安全机制,掌握如何控制外部Web页面加载的方法,然后介绍了如何给应用添加通知信息,最后介绍了获取设备信息以及检测网络状况的方法。 第6章介绍了如何使用PhoneGap的加速计API,包括加速计原理、应用场景、相关对象和方法,最后通过两个小例子——“摇一摇”和“重力感应”回顾了前面介绍的内容。 第7章介绍了如何使用PhoneGap的地理位置API,包括应用场景、相关对象和方法,并提供了两个简单的示例。 第8章介绍了如何使用PhoneGap的指南针API,包括指南针的原理、应用场景、相关对象和方法,最后通过一个综合实例“指南针应用”来加深读者的理解。 第9章介绍如何使用移动设备的各种媒体设备(如照相机和录音器)捕获音频和视频。 第10章介绍PhoneGap如何操作手机的通讯录。首先介绍了PhoneGap提供的与通讯录操作相关的各个对象,然后利用这些对象模拟了一个简单的通讯录操作应用。 第11章介绍PhoneGap所提供的各种存储选项,包含localStorage、WebGL以及诸如Lawnchair之类的流行的轻量级存储方案,并结合实例阐述具体的用法。 第12章介绍如何使用文件系统,包括文件系统的创建、文件和目录的操作以及文件的上传及下载等常见应用场景。 第13章首先介绍了PhoneGap的插件架构并告知读者获取插件的途径,然后详细介绍了如何在Android平台,iOS平台和Windows Phone平台使用插件。之后还介绍了如何在各个平台(Android、iOS、Windows Phone)编写属于自己的插件。最后简单介绍了PhoneGap的嵌入式特性。 第14章对目前比较流行的第三方插件进行了概述。首先重点讲述了NativeControls插件、WebGL插件、二维码插件、蓝牙插件、短信插件、国际化插件,然后对其他常用插件进行了简单介绍并给出了下载地址。值得一提的是,本章还讲述了如何将PhoneGap应用部署到桌面系统上的两个插件:Mac插件和Windows插件。 第15章介绍了PhoneGap在不同开发阶段的应用调试方法,包括桌面浏览器调试、原生开发环境调试以及远程调试。 第16章结合源码分析了PhoneGap在主流平台(iOS和Android)上实现JavaScript和本地代码之间交互通信的原理,并简要介绍了其他平台的实现方式。 第17章通过一个综合实例“Mininote应用”回顾了前面介绍的内容。该实例通过各项具体的功能将之前学习的各类API融汇其中,使读者加深对PhoneGap技术的理解,其功能包括数据存储、数据备份、数据恢复、拍照、发送微博、触摸删除、“摇一摇”删除、笔记分类和界面更换等。 阅读要求 从技术层面上来说,阅读本书的最低要求是能看懂一定的JavaScript代码和HTML代码并进行编写。 从环境层面上来说,阅读本书时,读者需要一台电脑,其中配有一个Web浏览器以及一个代码编辑器。 不过,因为PhoneGap是跨平台开发工具,所以读者需要针对不同的平台安装和配置对应的本地SDK。 例如,如果读者想发布基于PhoneGap的iOS应用,那么一台苹果电脑是必不可少的,并且读者还需要安装XCode和PhoneGap相应的SDK。 再比如,如果读者想发布基于PhoneGap的Windows Phone应用,则需要一台PC机并且安装好Visual Studio开发环境。 读者对象 本书主要面向对开发移动应用程序感兴趣的前端工程师或者是有一些Web技术基础的开发者,大概可以分为以下几个类别: 前端工程师; 中高级Web开发人员; Web技术爱好者; 有一定Web基础的本地移动应用开发者。 本书体例 在本书中,读者会看到几个标题频繁出现。为了更清晰地讲解PhoneGap的API,本书使用如下两个标题。 主要对象阐述。此处阐述了对应API所涉及的主要对象的属性和方法,以便更好地理解下文所要讲解的内容。 相关业务操作。此处通过实例来阐述对应API的实际用法以及可能遇到的实际问题的解决方法。 此外,读者还可以发现区分不同类型信息的多种文本风格。以下是这些风格的一些示例。 比如,代码块或命令行操作如下所示: var options = { frequency: 3000 }; watchID = navigator.compass.watchHeading(onSuccess, onError, options); 警告或重要提示如下所示: 注意 目前,Android和Windows Phone 7 均不支持filter参数。 本书作者 本书主要由饶侠、张坚、赵莉萍编著,其他参与资料整理的人员有黄平、董龙飞、段少婷、艾婷等人。再次对他们的辛勤工作表示感谢! 作者致谢 感谢我们的家人和朋友在本书写作过程中给予的大力支持和无微不至的照顾,使我们在写作的同时不影响生活和健康。 感谢图灵公司的编辑在整个写作过程中为我们提供的有用建议,感谢她们在沟通过程中给予我们的支持和关心,以及她们在编辑过程中的辛勤工作。 感谢Adobe的同事为我们提供的帮助,这里尤其要感谢以下几位。 Adobe Web Platform & Authoring资深总监Arno,感谢他为我们撰写精彩的序言。 我们的经理黄平,感谢他在写作过程中给予我们的大力支持。 我们的同事董龙飞,感谢他为我们提供了这次难得的机会,使我们可以与中国的前端开发者一起探讨PhoneGap技术。 我们的同事段少婷以及Adobe中国技术社区,感谢他们为我们提供的支持与帮助。 最后,要感谢在本书写作过程中辛勤付出的每一个人,你们都为本书的完成贡献了自己的力量,在此我们谨向他们表达我们最诚挚的谢意! 源代码下载 本书的示例代码均可从图灵社区本书主页免费注册下载。 读者反馈 你只需发送邮件到邮箱,便能把反馈传达给我们,例如对本书的建议、书中的小错误以及关于本书的任何疑问,我们对此将感激不尽。
内容概要
《深入浅出PhoneGap》深入浅出地介绍了时下流行的开源移动开发平台PhoneGap,内容涵盖PhoneGap 的各类API、插件机制和第三方常用插件,以及各主流平台上的通信机制的实现方式。此外,本书还介绍了如何整合流行的移动Web 开发框架(如Sencha Touch、jQuery Mobile 和Dojo Mobile 等),并用一个记事本的综合实例来展示如何基于PhoneGap 构建移动应用。 《深入浅出PhoneGap》适合所有想开发移动应用的Web 开发人员。
作者简介
饶侠:毕业于北京大学,目前就职于Adobe中国研发中心,喜欢各种Web前端技术,对Java EE相关技术也有一定研究。张坚:毕业于北京大学,目前就职于Adobe中国研发中心,热衷于Web开发技术。赵莉萍:毕业于北京航空航天大学,曾担任前端工程师和Flash工程师职位,目前就职于Adobe中国研发中心,对Web开发有浓厚兴趣。
书籍目录
第1章概述 1.1PhoneGap概述 1.1.1PhoneGap是什么 1.1.2PhoneGap的由来 1.1.3PhoneGap现状 1.1.4PhoneGap的优缺点 1.1.5PhoneGapAPI简介 1.2HTML5简介 1.2.1HTML5发展史 1.2.2HTML5的新功能 1.3相关技术 1.3.1Titanium 1.3.2AdobeAIR 1.3.3Corona 1.3.4AppMobi 1.3.5JavaScript移动UI框架介绍 1.4小结 第2章基于PhoneGap快速开发移动Web应用 2.1PhoneGap构成 2.2基于PhoneGap移动本地应用开发周期 2.3PhoneGap发布包 2.4Android系统下快速开发 2.4.1环境准备与配置 2.4.2在Android平台上创建基于PhoneGap的HelloWorld应用 2.5iOS系统下快速开发 2.5.1环境准备与配置 2.5.2在iOS平台上创建基于PhoneGap的HelloWorld应用 2.6WindowsPhone系统下快速开发 2.6.1环境准备与配置 2.6.2在WindowsPhone平台上创建基于PhoneGap的HelloWorld应用 2.7PhoneGapBuild 第3章PhoneGap与移动Web应用开发框架 3.1jQueryMobile+Backbone.js+Underscore.js 3.1.1jQueryMobile介绍 3.1.2Backbone.js和Underscore.js介绍 3.1.3使用jQueryMobile、Backbone.js和Underscore.js构建MiniNote原型 3.2SenchaTouch 3.2.1SenchaTouch介绍 3.2.2使用SenchaTouch构建MiniNote原型 3.3DojoMobile 3.3.1DojoMobile介绍 3.3.2利用DojoMobile构建MiniNote原型 第4章PhoneGap事件机制 4.1注册事件监听器 4.2PhoneGap特有事件 4.2.1deviceready 4.2.2backbutton 4.2.3pause和resume 4.2.4searchbutton 4.2.5online和offline 4.2.6menubutton 4.2.7batterycritical、batterylow和batterystatus 4.2.8startcallbutton和endcallbutton 4.2.9volumedownbutton和volumeupbutton 第5章PhoneGap的应用、通知、设备与网络连接API 5.1应用API 5.1.1PhoneGap白名单安全机制 5.1.2主要对象阐述 5.1.3相关业务操作 5.2通知API 5.2.1主要对象阐述 5.2.2相关业务操作 5.3设备API 5.3.1主要对象阐述 5.3.2相关业务操作 5.4网络连接API 第6章PhoneGap的加速计API 6.1加速计原理介绍 6.2加速计应用场景和实例 6.3主要对象阐述 6.4相关业务操作 6.4.1获取当前设备在x、y和z轴上的加速度 6.4.2定期获取设备的加速度信息 6.4.3取消定期获取设备的加速度信息 6.4.4综合实例 第7章PhoneGap的地理位置API 7.1地理位置应用场景和实例 7.2主要对象阐述 7.2.1Position对象 7.2.2PositionError对象 7.2.3Coordinates对象 7.2.4Geolocation选项参数 7.3相关业务操作 7.3.1获取设备当前的地理位置信息 7.3.2定期获取设备的地理位置信息 7.3.3取消定期获取设备的地理位置信息 7.3.4综合实例 第8章PhoneGap的指南针API 8.1指南针原理分析 8.2指南针应用场景和实例 8.3主要对象阐述 8.3.1CompassHeading对象 8.3.2CompassError对象 8.3.3Compass选项参数 8.4相关业务操作 8.4.1获取设备当前的指南针信息 8.4.2定期获取设备的指南针信息 8.4.3取消定期获取设备的指南针信息 8.4.4综合实例:制作一个指南针应用 第9章PhoneGap的照相机API、捕获API和媒体API 9.1照相机API 9.1.1主要对象阐述 9.1.2相关业务操作 9.2捕获API 9.2.1主要对象阐述 9.2.2相关业务操作 9.3媒体API 9.3.1主要对象阐述 9.3.2相关业务操作 第10章PhoneGap的通讯录API 10.1主要对象阐述 10.1.1联系人信息 10.1.2联系人名字 10.1.3联系人邮件和电话 10.1.4联系人的地址 10.1.5联系人组织结构 10.2相关业务操作 10.2.1查找联系人 10.2.2创建联系人 10.2.3保存联系人 10.2.4删除联系人 10.2.5复制联系人 10.3综合实例 第11章PhoneGap的存储API 11.1localStorage 11.1.1主要对象阐述 11.1.2相关业务操作 11.2WebSQL 11.2.1主要对象阐述 11.2.2相关业务操作 11.3IndexedDB 11.4Lawnchair及其他 11.4.1简单应用 11.4.2适配器架构 11.4.3插件架构 11.4.4其他可选存储框架 第12章PhoneGap的文件API 12.1主要对象阐述 12.2相关业务操作 12.2.1文件系统的请求与创建 12.2.2文件操作 12.2.3目录操作 12.2.4文件的上传与下载 第13章PhoneGap插件与嵌入式特性 13.1PhoneGap插件架构 13.1.1总体架构图示 13.1.2工作原理简介 13.2获取PhoneGap插件 13.3使用PhoneGap插件 13.3.1在Android下使用插件 13.3.2在iOS下使用插件 13.3.3在WindowsPhone下使用插件 13.4编写PhoneGap插件 13.4.1编写Android插件 13.4.2编写iOS插件 13.4.3编写WindowsPhone插件 13.5PhoneGap的嵌入式特性 13.5.1将PhoneGap嵌入iOS应用 13.5.2将PhoneGap嵌入Android应用 第14章PhoneGap第三方插件概览 14.1NativeControls插件介绍 14.1.1NativeControls插件概览 14.1.2NativeControls实例 14.2WebGL插件介绍 14.2.1何为WebGLGap 14.2.2WebGLGap实例 14.3BarcodeScanner插件介绍 14.4Bluetooth插件介绍 14.5SMSPlugin插件介绍 14.6Globalization插件介绍 14.7Mac插件介绍 14.8Windows插件介绍 14.9其他常用插件 第15章PhoneGap应用调试 15.1桌面浏览器调试 15.1.1标准的Web页面调试 15.1.2基于浏览器插件的设备模拟器调试 15.2原生开发环境调试 15.2.1Android模拟器和实体机的调试 15.2.2iOS模拟器和实体机的调试 15.3远程调试 15.3.1使用debug.phonegap.com进行远程调试 15.3.2本地搭建基于weinre的调试服务器 15.3.3基于iOS5模拟器的远程调试 15.3.4基于新浪移动云的远程调试 15.3.5AdobeShadow 第16章PhoneGap通信机制的实现原理 16.1本地桥接 16.2Android上的实现原理 16.2.1JavaScript到本地代码的通信 16.2.2本地代码到JavaScript的通信 16.2.3小结 16.3iOS上的实现原理 16.3.1JavaScript到本地代码的通信 16.3.2本地代码到JavaScript的通信 16.3.3小结 16.4其他平台的实现 第17章综合实例 17.1完善对象模型 17.2添加数据持久化功能 17.3添加日期显示功能 17.4添加日期分组功能 17.5添加简易的数据备份与恢复功能 17.6添加拍照功能 17.7编辑笔记功能 17.8发送微博功能 17.8.1创建微博开放平台应用 17.8.2使用微博JS—SDK 17.8.3使用微博JS—Widget 17.8.4使用微博移动云服务 17.9删除笔记功能 17.9.1实现手指滑动删除 17.9.2实现“摇一摇”提示删除功能 17.10添加笔记分类功能 17.11更改应用界面 附录APhoneGap相关资源
章节摘录
版权页: 插图: 2.Android SDK的下载和安装 Android SDK的下载地址是。由于实例中是Windows平台,且是第一次使用Android SDK,因此我们下载建议的installer_r18—windows.exe,也可以下载android—sdd r18—windows.zip。不管采用哪种方式,最后产生的SDK仅包含SDK工具,实际的SDK需要通过该工具进行下载和安装。双击installer rl 8.windows.exe,安装成功后在Windows程序列表里会出现Android SDK Tools文件夹,里面包含两个工具一SDK Manager和AVD Manager,其中SDKManager用来下载某一个版本的Android SDK,AVD Managerflj来创建和管理Android虚拟器。注意安装SDKTools时,要求JRE1.7及以上。更多信息请参照http://developer.android.com/sdk/index.html。 现在,我们可以立即启动SDKManager来下载所需要的AndroidSDK,当然也可以通过Eclipse的Android快速开发插件ADT来间接下载。在本章中,我们采用集成插件的方式来统一管理SDK。 3.ADT的下载与配置 我们可以通过Eclipse来安装ADT插件,具体操作步骤如下所示。 (1)启动Eclipse。 (2)选择“帮助”菜单。 (3)在弹出的下拉菜单中选择“安装新的软件”,然后在地址栏中输入https://dl—ssl.google.com/android/eclipse/。 (4)如果该链接出现问题,请输jkhttp://dl—ssl.google.corn/android/eclipse/。 (5)选中Developer Tools复选框,点击Next按钮进行安装,从图2.2中可以看出安装的组件列表。安装完后重启Eclipse。
媒体关注与评论
PhoneGap是目前比较流行的移动应用开发技术,而这本书给了初学者一个清晰的思路来一步步了解PhoneGap的真谛。 ——Adobe中国工程经理Ping Huang 本书由浅入深地介绍了当前流行的Web开发技术——PhoneGap,我们相信本书对广大开发者来说是大有裨益的。 ——Adobe中国技术推广经理Gary Zhu 这本书不仅涵盖了PhoneGap的所有重要功能,而且阐述了PhoneGap的原理,对于初学者或者想深入了解PhoneGap的Web开发人员都提供了一个很好的途径。此外,书中丰富的实例更给予开发者大量的实践机会。 ——Adobe中国技术推广师Mark Dong 本书内容覆盖全面,详略得当,是学习移动Web应用开发的很好资料。 ——Adobe中国技术社区经理Fiona Duan 本书为期望开发移动应用的前端开发者打开了一扇大门,为期望以低成本开发跨平台应用的人们提供了新的方向。 ——百度高级前端工程师MERAGON 对于渴求PhoneGap知识的读者来说,这本书是一个非常不错的选择,而对于正在使用PhoneGap技术的前端工程师来说,它又是一本不可或缺的工具书。 ——搜狗资深前端工程师Demix
编辑推荐
国内第一本PhoneGap中文书籍。作者来自Adobe公司。涵盖了PhoneGap的所有相关技术,并深入了进行了原理分析。结合最流行的JavaScript框架详细介绍HTML5。包含了与竞争技术例如Adobe AIR和Titanium的对比。随着HTML5技术的兴起以及移动设备的广泛应用,越来越多的Web开发人员迫切需要掌握的Web技术来开发移动应用。PhoneGap是目前最流行的基于Web技术进行移动开发的框架,因为它的应用是基于Html的,本身就比较容易做到跨平台。它是目前唯一一个同时支持6种移动平台的中间件。PhoneGap使用HTML、CSS和JavaScript就可以构建跨平台的移动应用程序。它使开发者能够利用iOS、Android、Palm、Symbian、Blackberry、Windows Phone和Beda智能手机的核心功能——包括地理定位、加速器、联系人、声音和振动等。本书的独到之处在于涵盖了PhoneGap的实现原理和设计架构,能使读者更深入的学习这项技术。本书还详细介绍了PhoneGap的相关技术,包括HTML5技术和一些流行的JavaScript框架的使用。另外本书还介绍了如何利用PhoneGap开发日渐流行的Windows Phone应用。作者是Adobe公司PhoneGap领域的专家级技术人员,具有一定的权威性。目前市面上还没有中文版的PhoneGap相应书籍,而且外版书有很明显的版本滞后的问题,原创图书有一定的优势。
名人推荐
PhoneGap是目前比较流行的移动应用开发技术,而这本书给了初学者一个清晰的思路来一步步了解PhoneGap的真谛。 --Adobe中国工程经理Ping Huang本书由浅入深地介绍了当前流行的Web开发技术--PhoneGap,我们相信本书对广大开发者来说是大有裨益的。--Adobe中国技术推广经理Gary Zhu这本书不仅涵盖了PhoneGap的所有重要功能,而且阐述了PhoneGap的原理,对于初学者或者想深入了解PhoneGap的Web开发人员都提供了一个很好的途径。此外,书中丰富的实例更给予开发者大量的实践机会。--Adobe中国技术推广师Mark Dong本书内容覆盖全面,详略得当,是学习移动Web应用开发的很好资料。--Adobe中国技术社区经理Fiona Duan
图书封面
图书标签Tags
无
评论、评分、阅读与下载