出版时间:2012-10 出版社:人民邮电出版社 作者:鲁尼 页数:282 字数:369000 译者:刘明骏
Tag标签:无
内容概要
PhoneGap是一个开源的开发工具和框架,可以允许开发人员使用HTML、JavaScript和 CSS
技术开发出强大的跨平台移动应用程序。《PhoneGap开发指南》通过结合大量实际案例和源代码对PhoneGap的重要特性进行了详细讲解,内容全面丰富,易于理解。 全书共分为
11 章,其内容包括如何在不同平台上安装
PhoneGap,如何在不同平台上构建以及调试应用程序,如何将移动Web转换为移动应用程序,如何管理跨平台代码库等。此外,《PhoneGap开发指南》还介绍了HTML5
API和移动JavaScript库,介绍了CSS3的转场、变形和动画,如何使用PhoneGap访问设备感应器,如何通过PhoneGap使用摄像头,如何使用PhoneGap读写通讯录,如何使用不同平台的原生API编写PhoneGap插件,如何同步应用程序,并缓存一些必要的信息等内容。 《PhoneGap开发指南》适合具有一定HTML和JavaScript基础,而且对PhoneGap这一开源框架感兴趣的Web开发人员、移动应用开发人员阅读。
作者简介
Andrew Lunny是Nitobi软件公司的一名号称“头号牛人(Chief
N00b)”的软件开发人员,该软件公司总部设在温哥华。Andrew曾是一名优秀的冲浪运动员,不幸的是,一只凶狠的鲨鱼扼杀了他这份富有前途的职业。自退出冲浪运动算起,他已经在Nitobi公司工作了整整4年。作为PhoneGap组的一名成员,他是该组的核心开发人员,尤其在用PhoneGap建立Web服务方面,他是个名副其实的多面手,并在PhoneGap及相关技术领域具有至少10年的开发经验。他喜爱Ruby、JavaScript、UNIX、Git以及Internet。
Nitobi公司的经营者包括Andre Charland、Dave Johnson还有Brian
Leroux。他们擅长于跨平台移动设备的开发与设计,同时也是PhoneGap开源项目的赞助者。在业余时间,Andrew热衷于骑自行车、跑步、散步还有跳跃。更让人惊讶的是,他还在英国哥伦比亚大学获得了两个截然不同的学位!
书籍目录
第1章 安装PhoneGap
1.1 操作系统
1.2 所需工具
1.3 使用iOS入门
1.4 行动时刻——在模拟器上运行应用程序
1.5 安装PhoneGap-iPhone
1.6 行动时刻——PhoneGap-iPhone的Hello World
1.6.1 刚做了什么?
1.6.2 突击测验——iPhone上的PhoneGap基础
1.7 使用Android入门
开发环境的说明
1.8 行动时刻——运行SDK
1.8.1 刚做了什么?
1.8.2 PhoneGap Android
1.9 行动时刻——PhoneGap Android的Hello World
1.9.1 刚做了什么?
1.9.2 PhoneGap Android应用程序中到底有什么?
1.9.3 一展身手——深入Android
1.10 使用BlackBerry Web Works入门
1.11 行动时刻——第一个PhoneGap BlackBerry应用
1.11.1 刚做了什么?
1.11.2 BlackBerry代码签名
1.11.3 一展身手——跨平台带来的乐趣
1.12 小结
第2章 在不同平台上构建和调试应用程序
2.1 使用桌面浏览器进行设计
2.1.1 WebKit
2.2 开发第一个应用程序:You Are The Best
2.3 行动时刻——初期的设计和功能
2.3.1 刚做了什么?
2.3.2 我们的工作流程
2.3.3 我们的样式
1.分离性
2.宽度和高度
3.-webkit-border-radius
2.3.4 我们的脚本
1.分离性
2.addEventListener
3.DOMContentLoaded
2.3.5 突击测验——初期设计
2.4 使用Web Inspector
进入Web Inspector
2.5 行动时刻——简单的日志和错误检查
2.5.1 刚做了什么?
2.5.2 一展身手——玩转Web Inspector和JavaScript
2.6 移植到原生平台
2.7 行动时刻——You Are The Best for iPhone
2.7.1 刚做了什么?
2.7.2
2.7.3 phonegap.js
2.7.4 deviceready事件
2.7.5 一展身手——移植到其他平台
2.8 总结
第3章 从移动站点到移动应用
3.1 实现Web服务器的角色
3.2 行动时刻——实现LocalStorage
3.2.1 刚做了什么?
3.2.2 其他存储方案
1.Web SQL
2.Indexed DB
3.2.3 一展身手——探索LocalStorage
3.3 视图模板化技术
3.4 行动时刻——食物详情视图
3.4.1 刚做了什么?
3.4.2 突击测验——使用Mustache模板
3.4.3 访问远程资源
跨域策略
3.5 行动时刻——食物点评
3.5.1 刚做了什么?
3.5.2 访问远程资源
1.解析远程数据
2.事件委托
3.Sleight:PhoneGap的开发服务器
3.5.3 一展身手——让效率更高一些
3.6 总结
第4章 管理跨平台代码库
4.1 平台之间的内在差别
使用单一代码库
4.2 行动时刻——检测和回退
4.2.1 刚做了什么?
4.2.2 用户终端嗅探
4.2.3 特性检测
4.2.4 突击测验——特性检测VS用户终端(UA)嗅探
4.2.5 媒体查询
4.2.6 一展身手
4.2.7 预处理代码
4.3 总结
第5章 HTML5 API和移动JavaScript
5.1 移动JavaScript
XUI
5.2 行动时刻——下载、构建以及使用XUI
5.2.1 刚做了什么?
5.2.2 为什么不用jQuery?
5.2.3 突击测验——XUI
5.3 HTML5
媒体元素
5.4 行动时刻——使用PhoneGap
5.4.1 刚做了什么?
5.4.2 媒体事件和属性
5.4.3 audio元素
5.4.4 突击测验——媒体元素
5.4.5 canvas元素
5.5 行动时刻——晚餐示数面板
5.5.1 刚做了什么?
5.5.2 canvas API
5.5.3 注意性能
5.5.4 一展身手
5.5.5 HTML5中还有什么?
5.6 总结
第6章 CSS3:转场、变形和动画
6.1 使用CSS3 Transition进行转换
6.2 行动时刻——模态显示tweet视图
6.2.1 刚做了什么?
6.2.2 时间函数
6.2.3 CSS3 Transform中其他的函数
6.2.4 一展身手——CSS3 Transform
6.3 滚动
6.3.1 viewport:可见与不可见
6.3.2 iScroll
6.4 行动时刻——滚动食物列表
6.4.1 刚做了什么?
6.4.2 其他解决方法
6.4.3 突击测验——滚动
6.5 显式动画
6.6 行动时刻——让我们的标题动起来
6.6.1 刚做了什么?
6.6.2 一展身手
6.6.3 动画:用CSS3还是HTML5
6.7 总结
第7章 使用PhoneGap调用设备传感器
7.1 什么是设备传感器?
7.2 行动时刻——明信片生成器
7.2.1 刚做了什么?
7.2.2 PhoneGap与HTML5的对比
7.2.3 其他地理位置数据
7.2.4 突击测验——地理位置
7.3 加速度计数据
7.4 行动时刻——监测摇摆
7.4.1 刚做了什么?
7.4.2 设备朝向和设备运动事件
7.4.3 一展身手
7.5 方向媒体查询
7.6 行动时刻——横向显示明信片应用程序
7.6.1 刚做了什么?
7.6.2 其他媒体查询
突击测验——朝向和媒体查询
7.6.3 磁力计传感器:漏掉的API
7.7 总结
第8章 访问摄像头数据和文件
8.1 行动时刻——摄像头API入门
8.1.1 刚做了什么?
8.1.2 浏览器既不是模拟器也不是设备
8.1.3 图片源
8.1.4 其他选项
8.1.5 突击测验——navigator.camera.getPicture
8.2 当我们获得图片后,能做些什么?
8.3 行动时刻——使用图片路径显示图片
8.3.1 刚做了什么?
8.3.2 那么,图片在哪里?
8.3.3 一展身手
8.3.4 原始图片数据
8.4 行动时刻——保存照片
8.4.1 刚做了什么?
8.4.2 确保已设置quality选项
8.4.3 突击测验——destinationType
8.4.4 修改或访问实时数据
8.5 总结
第9章 读写通讯录
9.1 行动时刻——navigator.service.contacts.find
9.1.1 刚做了什么?
9.1.2 ContactField类型的字段
9.1.3 一展身手
9.1.4 写入联系人数据
9.2 行动时刻——交个朋友
9.2.1 刚做了什么?
9.2.2 如果遇到新的问题,我该怎么办?
9.2.3 ContactField、ContactName以及类似的对象
9.2.4 负起责任
9.2.5 突击测验——通讯录
9.3 总结
第10章 PhoneGap插件
10.1 获取PhoneGap插件
10.2 行动时刻——集成ChildBrowser插件
10.2.1 刚做了什么?
10.2.2 平台间的差异
10.2.3 漫游PhoneGap插件
10.2.4 突击测验——使用PhoneGap插件
10.2.5 编写PhoneGap插件
10.3 行动时刻——电量视图
10.3.1 刚做了什么?
10.3.2 iOS版PhoneGap插件值得注意的地方
10.3.3 一展身手
10.4 移植插件
10.5 行动时刻——Android和BlackBerry
10.5.1 刚做了什么?
10.5.2 你需要跨平台插件吗?
10.5.3 不受限制
10.5.4 突击测验——编写PhoneGap插件
10.6 总结
第11章 离线运行:同步和缓存
11.1 Ruby和Sinatra
11.2 行动时刻——一个拥有API的新闻站
11.2.1 刚做了什么?
11.2.2 Sinatra的替代者
11.2.3 突击测验——一个简单的Web服务
11.2.4 缓存新闻报道
11.3 行动时刻——在本地数据库缓存新闻
11.3.1 刚做了什么?
11.3.2 管理应用程序初始化
11.3.3 一展身手
11.4 总结
附录A 部署到iOS
A.1 行动时刻——部署到设备上
A.1.1 刚做了什么?
A.1.2 一展身手——iOS基础知识
附录B 突击测验答案
章节摘录
版权页: 插图: 9.2.1刚做了什么? 在我们绕来绕去地做了许多很业余的事情之后,我们终于成功编写了一个跨平台的应用程序,该应用程序可以根据用户输入,在系统通讯录中新建联系人。 我一直告诉自己使用Contacts API是很直观的,但我是真心讨厌Contacts API。因为明明是一个很简单的概念但用起来却要大费周章。虽然我们可以向contact.save中传入回调函数,但却没有简单的方法可以用来验证要传入设备的联系人对象;除了在独立设备上手动测试,也没有简单的方法可以让你清楚地知道用户会看到什么。很遗憾,这就是Contacts API的本质。因为“管理联系人”是现代智能手机的内在组成部分,所以每个Contacts API的实现千差万别也就不奇怪了。 9.2.2如果遇到新的问题,我该怎么办? Contacts API总是有这样那样的问题(老实说,它从来没有按我想的做过),所以你很有可能会遇到本章没有涉及的新问题。 PhoneGap邮件列表(架设在Google Groups上,你很容易找到)和PhoneGap文档网站是两个最好的资源。PhoneGap文档网站提供了最完善的API列表,哪些API函数需要哪些参数,什么参数会传入你的回调函数。对于Contacts API来说,因为有非常大量的细节工作要做,所以PhoneGap文档网站是非常宝贵的资源。 拥有数千名PhoneGap开发人员的邮件列表也十分有用。当你遇到特定设备的问题时,邮件列表会特别有用。就比如我前面提到过的一个Android的问题(在向设备新增联系的地方):如果我不修改我的通讯录设置,那么我是无法正常运行应用程序的。修改通讯录设置的方法在邮件列表中有详细说明。如果你有问题也可以通过邮件列表解决。 3.2.3ContactField、ContactName以及类似的对象 在上面的所有例子中,我使用了PhoneGap的JavaScript的构造器来创建联系人对象(new Contact和new ContactField,等等)。虽然这点在静态类型语言(比如Java)中非常常见,但许多JavaScript程序员更熟悉那些松散的、本质上是动态的方法。 因为你的PhoneGap代码就只是JavaScript,所以你可以使用JavaScript语言的特点:创建轻量级的散列而不是使用new操作符,把可选的参数移出调用的函数,同时使用匿名内联函数作为回调函数。对于Contacts API来说,使用这些构造器的最主要好处就是这些构造器会事先(使用null值)生成出所有原生代码需要的字段。如果你不这么做,就会引起意料之外的问题。 大多数情况下,使用PhoneGap框架提供的工具是最安全的方法。如果你不喜欢深挖PhoneGap的源代码,那么更应该使用这个方法。 9.2.4负起责任 PhoneGap提供了随意读取和写入用户通讯录的权限,同时你也可以很容易地滥用这些权限。如果你希望为你的公司或客户创建一个有价值的应用程序,那么你就一定得要谨慎对待你使用到的任何用户数据。 特别要注意的是:如果没有用户的许可,不要保存任何用户数据或将这些数据发回远程服务器;不要与用户通讯录中的任何联系人联系,除非是用户让你这么做的;不随意向通讯录中添加新联系人。如果你想让你的应用程序被App Stores或App Markets下线,那么违反上面列出的这几条倒是不错的方法,这样你也就能保证彻底没有人会使用这款应用 程序了。
媒体关注与评论
通过任务和挑战来鼓励读者亲身实践。
编辑推荐
《PhoneGap开发指南》是Adobe中国开发者技术社区倾力推荐的一本PhoneGap开发指南《PhoneGap开发指南》将演示如何使用单一的代码库,借助PhoneGap移动开发框架,来为多个移动平台(比如iOS、Android、BlackBerry等)开发应用程序。边学边练,学以致用,所有示例来自真实环境,为用户提供创意,激发灵感通过任务和挑战来鼓励读者亲身实践
图书封面
图书标签Tags
无
评论、评分、阅读与下载