新書推薦:
《
阿勒泰的春天
》
售價:HK$
50.4
《
如见你
》
售價:HK$
51.3
《
人格阴影 全新修订版,更正旧版多处问题。国际分析心理学协会(IAAP)主席力作
》
售價:HK$
67.0
《
560种野菜野果鉴别与食用手册
》
售價:HK$
67.1
《
中国官僚政治研究(一部洞悉中国政治制度演变的经典之作)
》
售價:HK$
62.7
《
锂电储能产品设计及案例详解
》
售價:HK$
110.9
《
首辅养成手册(全三册)(张晚意、任敏主演古装剧《锦绣安宁》原著小说)
》
售價:HK$
121.0
《
清洁
》
售價:HK$
65.0
|
編輯推薦: |
移动开发是当今软件行业中*热门的趋势之一,也是必不可少的开发技能之一。本书将讨论如何利用常见的Web技术,如HTML、CSS和JavaScript,高效地开发移动应用程序。在阅读完本书后,读者将能够采用JavaScript在不同移动平台上开发移动应用程序,且无须学习每种移动平台的原生编程语言。
|
內容簡介: |
本书详细阐述了与JavaScript移动设备应用程序开发相关的基本解决方案,主要包括Apache Cordova简介、开发*个Cordova应用程序、Apache Cordova开发工具、Cordova API、深入讨论Cordova API、开发自定义Cordova插件、Cordova应用程序逻辑单元测试、Mega应用程序等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。
|
目錄:
|
第1章 Apache Cordova简介 1
1.1 什么是Apache Cordova 1
1.2 不同移动开发平台间的差异(移动Web、混合移动和原生移动应用程序) 2
1.3 为什么使用Apache Cordova开发移动应用程序 4
1.4 Cordova体系结构 5
1.5 Cordova API概述 15
1.6 本章小结 17
第2章 开发第一个Cordova应用程序 19
2.1 Cordova CLI简介 19
2.1.1 安装Apache Cordova 19
2.1.2 生成Sound Recorder初始代码 20
2.2 开发Sound Recorder应用程序 26
2.2.1 Sound Recorder中的各项功能 26
2.2.2 Sound Recorder的准备工作 28
2.2.3 Sound Recorder的细节信息 28
2.2.4 录制和回放音频文件 34
2.3 构建和运行Sound Recorder应用程序 38
2.4 本章小结 38
第3章 Apache Cordova开发工具 39
3.1 配置Android开发环境 39
3.1.1 扩展现有的Eclipse IDE 40
3.1.2 创建Android虚拟设备 43
3.1.3 将Sound Recorder应用程序导入Eclipse中 46
3.1.4 在真实设备上运行Sound Recorder应用程序 50
3.2 配置iOS开发环境 51
3.2.1 将Sound Recorder应用程序导入Xcode中 52
3.2.2 在真实iOS设备上运行Sound Recorder应用程序 55
3.3 配置Windows Phone开发环境 62
3.3.1 将Sound Recorder应用程序导入Visual Studio中 64
3.3.2 在真实的Windows Phone设备上运行Sound Recorder应用程序 66
3.4 本章小结 68
第4章 Cordova API 69
4.1 Cordova Exhibition应用程序 69
4.2 Cordova Exhibition应用程序结构 70
4.3 加速计 72
4.3.1 演示程序 72
4.3.2 HTML页面 73
4.3.3 视图控制器 74
4.3.4 API 76
4.4 相机 78
4.4.1 演示程序 78
4.4.2 HTML页面 79
4.4.3 视图控制器 80
4.4.4 API 82
4.5 指南针 85
4.5.1 演示程序 86
4.5.2 HTML页面 86
4.5.3 视图控制器 87
4.5.4 API 90
4.6 连接 92
4.6.1 演示程序 92
4.6.2 HTML页面 93
4.6.3 视图控制器 93
4.6.4 API 94
4.7 联系人 95
4.7.1 演示程序 95
4.7.2 HTML页面 96
4.7.3 视图控制器 97
4.7.4 API 101
4.8 设备 104
4.8.1 演示程序 104
4.8.2 HTML页面 105
4.8.3 视图控制器 106
4.8.4 API 106
4.9 地理位置 107
4.9.1 演示程序 108
4.9.2 HTML页面 109
4.9.3 视图控制器 109
4.9.4 API 110
4.10 国际化 113
4.10.1 演示程序 113
4.10.2 HTML页面 114
4.10.3 视图控制器 114
4.10.4 API 116
4.11 InAppBrowser 117
4.11.1 演示程序 118
4.11.2 HTML页面 119
4.11.3 视图控制器 119
4.11.4 API 120
4.12 本章小结 122
第5章 深入讨论Cordova API 123
5.1 多媒体、文件和捕捉功能 123
5.1.1 演示程序 123
5.1.2 HTML页面 124
5.1.3 视图控制器 126
5.1.4 API 130
5.2 通知 139
5.2.1 演示程序 139
5.2.2 HTML页面 140
5.2.3 视图控制器 141
5.2.4 API 143
5.3 存储 145
5.3.1 演示程序 146
5.3.2 HTML页面 147
5.3.3 视图控制器 148
5.3.4 API 151
5.4 完善Cordova Exhibition应用程序 152
5.5 Cordova事件 156
5.6 本章小结 158
第6章 开发自定义Cordova插件 159
6.1 开发自定义Cordova插件 159
6.1.1 使用plugman 160
6.1.2 插件定义 162
6.1.3 定义插件的JavaScript接口 165
6.2 开发Android代码 167
6.3 开发iOS代码 172
6.4 开发Windows Phone代码 176
6.5 将插件发布至Cordova Registry 178
6.6 测试Cordova插件 179
6.7 本章小结 183
第7章 Cordova应用程序逻辑单元测试 185
7.1 Jasmine简介 185
7.2 配置Jasmine 185
7.3 编写第一个Jasmine测试 187
7.4 Jasmine匹配器 192
7.5 开发Cordova应用程序测试 192
7.5.1 Weather应用程序简介 193
7.5.2 开发同步代码测试 203
7.5.3 开发异步代码测试 206
7.5.4 手动执行测试 209
7.6 利用Karma实现自动化测试 210
7.6.1 安装Karma 210
7.6.2 Karma配置 211
7.6.3 在移动设备上运行测试 213
7.6.4 生成XML JUnit和代码覆盖率报告 214
7.6.5 与CI工具集成测试 217
7.7 本章小结 218
第8章 Mega应用程序 219
8.1 Mega应用程序规范线框图 219
8.2 准备Mega应用程序 221
8.3 Mega应用程序体系结构 222
8.4 Mega应用程序模型和API 225
8.5 Mega应用程序用户界面 234
8.6 完善Mega应用程序 248
8.7 部署和运行Mega应用程序 250
8.8 改进Mega应用程序 251
8.9 本章小结 252
|
內容試閱:
|
移动开发是当今软件行业中最热门的趋势之一,也是必不可少的开发技能之一。相信读者已经注意到,现在几乎每个流行的网站都有自己的移动应用程序版本,同时允许用户从手机设备上访问网站。今天的智能手机设备其硬件设备和计算能力已获得了长足的进步,实际上也成为了个人电脑的强有力的竞争对手。与个人电脑相比,许多用户更喜欢通过智能手机完成其日常操作(如查看新闻、将视频发布至Facebook和YouTube上,以及收发电子邮件等)。
虽然移动应用程序开发是一个有趣的话题,但实际开发过程仍需要开发人员付出巨大的努力,并拥有丰富的开发技能。例如,当在Android手机或平板电脑上开发原生移动应用程序时,开发人员需要熟悉Android SDK和Java编程语言。另外,如果需要在iPhone或iPad设备上开发相同的移动应用程序,移动开发人员还需要熟悉Xcode和Objective-C语言。在Windows Phone环境下,开发人员则需要具备.NET编程技能。
除了面临上述挑战之外,由于每种移动平台包含了其自身的移动应用程序开发哲学,因此还需要通过不同的编程语言处理每种平台所面临的不同类型的问题。例如,当在Windows Phone平台上重新实现Android应用程序逻辑时(采用Java进行编写),直接从应用程序代码中发送SMS将不再有效,其原因在于,在Windows Phone平台上,如果未启动默认的平台SMS应用程序,将不允许从应用程序代码中发送SMS消息。这意味着,需要在新的代码中实现这一逻辑变化,并采用不同的语言(此处为.NET编程语言)予以实现。
上述各项挑战都需要付出大量的努力(包括开发和测试),进而实现可工作于任何移动平台上的应用程序。
综上所述,本书将讨论如何利用常见的Web技术,如HTML、CSS和JavaScript,高效地开发移动应用程序。在阅读完本书后,读者将能够采用JavaScript在不同移动平台上开发移动应用程序,且无须学习每种移动平台的原生编程语言。由于仅使用JavaScript一种语言,这将显著地降低跨平台移动应用程序的开发成本和工作量。另外,使用单一语言处理每种移动平台的不同类型的问题时,我们可以在中心代码中进行操作,这也增加了跨移动平台的移动应用程序代码的可读性和可维护性。
为了实现上述任务,本书主要关注Apache Cordova平台,该平台采用HTML、CSS和JavaScript构建移动应用程序。Apache Cordova提供了一组API,使得移动应用程序开发人员能够访问本地移动函数,具体内容将在第1章中讨论。
Apache Cordova项目最初被称作PhoneGap。PhoneGap项目最初由Nitobi公司推出,旨在简化移动开发团队的跨平台移动开发。然而,PhoneGap框架最初仅支持单一平台,即Apple iPhone。幸运的是,PhoneGap随后则添加了对Android和BlackBerry方面的支持。
2009年,PhoneGap项目赢得了Peoples Choice Award和OReilly Media举办的2009 Web 2.0 Conference等奖项,自此,PhoneGap框架广泛地应用于大量的应用程序开发中。接下来,PhoneGap团队在这一项目上持续发力,以支持更多的移动平台,并不断地丰富该项目的API。
2011年,AdobeAdobe宣布收购Nitobi,PhoneGap项目也随着隶属于Apache Software Foundation,且最初成为Apache Callback,后来更名为Apache Cordova。有趣的是,Cordova恰好是Nitobi公司所处的一条街道。本书将主要讨论Apache Cordova。
当开发外观整洁的移动应用程序时,本书将使用jQuery Mobile。jQuery Mobile是优秀的移动Web应用程序框架之一,使得Web开发人员可以实现移动友好型Web应用程序。
对于开发交互式移动应用程序的Web研发人员来说,本书是一本实践型指导书籍,如果读者是一名原生移动应用程序开发人员,且需要通过JavaScript和Apache Cordova以较少的时间和精力来开发移动应用程序,那么本书对您来说将十分有用。
本书内容
第1章将讨论Apache Cordova以及移动Web、混合移动和原生移动应用程序间的差异。此外,读者还将学习为何选用Apache Cordova及其当前架构。最后,本章还将整体介绍Apache Cordova API。
第2章将探讨如何在Android平台上开发、构建和部署第一个Sound Recorder移动应用程序。
第3章将介绍如何配置Android、iOS和Windows Phone开发环境,除此之外,我们还将学习如何在iOS和Windows Phone平台上支持和运行Sound Recorder移动应用程序。
第4章将深入讨论Apache Cordova API及其实践操作。同时,我们还将学习如何与Cordova加速计、相机、指南针、连接、联系人、设备、地理定位、全球化和InAppBrowser API(通过考查Cordova Exhibition应用程序代码)协同工作。这里,Cordova Exhibition应用程序的设计和开发主要用于显示Apache Cordova核心插件的完整应用示例。相应地,Cordova Exhibition应用程序支持Android、iOS和Windows Phone。
第5章继续讲解Apache Cordova API,并查看Cordova Exhibition应用程序的其他主要特性。其中,读者将学习如何与Cordova多媒体、文件、捕捉、通知和存储API协同工作。除此之外,我们还将学习如何在Cordova移动应用程序中使用Apache Cordova事件。
第6章将深入考查Apache Cordova,并在3种主流的移动平台上创建Apache Cordova定制插件,即Android(采用Java编程语言)、iOS(采用Objective-C编程语言)和Windows Phone(采用C#编程语言)。
第7章将解释如何针对Cordova应用程序逻辑开发JavaScript单元测试,其中将涉及Jasmine JavaScript单元测试框架的基础知识,并了解如何使用Jasmine测试同步和异步JavaScript代码。其间,我们将学习如何将Karma用作JavaScript测试运行程序,进而实现Jasmine测试的自动运行。另外,读者还将考查如何生成测试以及如何从已开发的测试中生成代码覆盖率报告。最后,我们将利用Continuous Integration工具集成测试,从而掌握如何实现JavaScript测试的自动操作。
第8章探讨如何利用Apache Cordova和jQuery Mobile API设计和开发完整的应用程序Mega App。Mega App是一个备忘录工具,允许用户在3种主流的移动平台(Android、iOS和Windows Phone)上创建、保存和查看可听、可看的备忘录。对此,Mega App采用jQuery Mobile以创建用户界面,并通过Apache Cordova访问设备信息、相机、音频(麦克风和喇叭)和文件系统。本章将学习如何创建一个可移植的应用程序,以协调Android、iOS和Windows Phone之间的差异。
背景知识
读者应具备基本的Web技术背景,如HTML、CSS和JavaScript。另外,为了进一步理解示例代码,建议读者学习jQuery和jQuery Mobile方面的基础知识。对此,http:www. w3schools.comjquery和http:www.w3schools.comjquerymobile分别提供了与jQuery和jQuery Mobile相关的入门教程。
适用读者
如果读者是一名Web开发人员,并打算利用Apache Cordova开发移动应用程序,那么本书将十分适合于您。在阅读本书前,读者不必花费过多的时间学习JavaScript、CSS和HTML。
如果读者是一名原生移动开发人员,则需要花费些许时间学习一些常见的Web技术,如JavaScript、CSS和HTML,这将提升读者的自身价值并对自身的工作产生积极的影响。在此基础上,本书将学习Apache Cordova,与采用本地编程语言在各个平台上开发应用程序相比,开发跨平台移动应用程序将节省大量的时间和精力。
本书约定
在本书中,读者将会发现不同的文本风格,进而区分不同类型信息之间的差异。以下示例展示了相关风格及其含义的解释内容。
代码块如下所示。
SoundRecorder
A sample Apache Cordova application that responds
to the deviceready event.
Apache Cordova Team
当某个代码块的特定部分需要引起足够重视时,对应的代码行和数据项将采用粗体设置,如下所示。
function {
var memoManager = MemoManager.getInstance;
var recInterval;
$document.on"pageinit", "#memoCapture", functione {
$"#saveMemo".on"tap", functione {
e.preventDefault;
var memoItem = new MemoItem{
"type": $"#mtype".val,
"title": $"#title".val || "Untitled",
"desc": $"#desc".val || "",
"location": $"#location".val || "",
"mtime": $"#mtime".html || new Date.toLocaleString,
"id": $"#mid".val || null
};
memoManager.saveMemomemoItem;
$.mobile.changePage"#memoList";
};
...
};
};
命令行输入或输出内容如下所示。
sudo npm install -g cordova
图标表示较为重要的警告和说明信息。
图标则表示提示信息和操作技巧。
读者反馈和客户支持
欢迎读者对本书的建议或意见予以反馈。
对此,读者可向feedback@packtpub.com发送邮件,并以书名作为邮件主题。若读者对本书有任何疑问,均可发送邮件至questions@packtpub.com,我们将竭诚为您服务。
若读者针对某项技术具有专家级的见解,抑或计划撰写书籍或完善某部著作的出版工作,则可访问www.packtpub.comauthors。
下载示例代码
读者可访问http:www.packtpub.com并通过个人账户下载所购买书籍的示例代码。另外,读者还可访问http:www.packtpub.comsupport,经注册后我们将通过电子邮件的方式将文件发送给读者。
勘误表
尽管我们在最大程度上做到尽善尽美,但错误依然在所难免。如果读者发现谬误之处,无论是文字错误抑或是代码错误,还望不吝赐教。对此,读者可访问http:www.packtpub. comsupport,选取对应书籍,单击Errata Submission Form超链接,并输入相关问题的详细内容。
版权须知
一直以来,互联网上的版权问题从未间断,Packt出版社对此类问题异常重视。若读者在互联网上发现本书任意形式的副本,请告知网络地址或网站名称,我们将对此予以处理。关于盗版问题,读者可发送邮件至copyright@packtpub.com。
问题解答
若读者对本书有任何疑问,均可发送邮件至questions@packtpub.com,我们将竭诚为您服务。
|
|