猜你喜欢
细说HTML5高级API

细说HTML5高级API

书籍作者:高洛峰 ISBN:9787121329272
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:7175
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

Cordova诞生的目的,是为了快速构建跨平台的移动APP,在市场开发需求增加和要求开发效率提高的情况下,我们不得不选择基于HTML5的开发技术,而Cordova是基于HTML5的,支持所有市面上的移动端设备,本书的主要特点就是为了读者能够深入浅出的学习使用HTML5和Cordova的技术开发移动端APP。本书分为三部分,第一部分是介绍HTML5的移动端布局和不同平台下Node.js和Cordova的环境搭建,第二部分介绍Cordova的常用核心API,包含了事件处理,地理位置,Web存储,多媒体等等。第三部分介绍了HTML5高级API中的几个常用API,Web Workers,Web Socket,和Canvas等比较常用的API。本书比较适合有一定的JavaScript+HTML5开发基础的读者,希望读者能够从每个例子中举一反三,获取更多知识。

作者简介

高洛峰,兄弟连IT教育教研总监,十多年的软件开发和IT教学工作经验。曾任多家上市公司技术总监、项目经理、高级软件工程师等职务,具有扎实的技术功底。国内资深技术讲师,从事IT培训以来累计授课长达一万课时以上,培养过百名IT名师,培训上万名学员成功走向IT岗位。熟悉掌握多种IT技能,对当前主流应用的编程语言、数据库以及软件架构设计都很擅长。对Web系统软件开发深有研究,近年来致力于推广开源的PHP语言和前端HTML5技术,荣获腾讯2016年度网络人气名人讲师。

编辑推荐
适读人群 :本书的读者对象为传统的Web应用开发者,读者朋友需要具备熟练书写HTML4/5,JavaScript(ES 5 ),CSS2/3的能力,我们在本书中并没有掺杂过多的ES6部分的知识,因此,很多熟悉C++ ,JAVA ,C#的开发者,在了解一些基础知识之后,也能迅速适用本书的思路,本书主要的目的是应用现阶段的主流WEB高级API ,以及如何适用传统的Web技术构建跨平台的移动端应用,本书整体构思比较注重实战对概念的理解,因此,无论在此之前,读者朋友适用的是什么语言开发,并不影响对此书的阅读。

本书比较适合有一定的JavaScript+HTML5开发基础的读者,希望读者能够从每个例子中举一反三,获取更多知识。

前言
随着HTML5标准化逐渐成熟,以及互联网的飞速发展和移动端的应用不断创新,再加上微信公众号、小程序的应用飙升,原生APP向Web APP和混合APP的转变,用户对视觉效果和操作体验的要求越来越高,HTML5成为移动互联网的主要技术,也是目前的主流技术之一。HTML5是超文本标记语言(HTML)的第5次修订,是近年来Web标准的巨大飞跃。Web是一个内涵极为丰富的平台,和以前版本不同的是,HTML5并非仅仅用来表示Web内容,在这个平台上还能非常方便地加入视频、音频、图像、动画,以及与计算机的交互。HTML5的意义在于它带来了一个无缝的网络,无论是PC、平板电脑,还是智能手机,都能非常方便地浏览基于HTML5的各类网站。对用户来说,手机上的APP会越来越少,用HTML5实现的一些应用不需要下载安装,就能立即在手机界面中生成一个APP图标,使用手机中的浏览器来运行,新增的导航标签也能更好地帮助小屏幕设备和有视力障碍人士使用。HTML5拥有服务器推送技术,给用户带来了更便捷的实时聊天功能和更快速的网游体验。
HTML5对于开发者来说更是福音。HTML5本身是由W3C推荐的,也就意味着每一个浏览器或每一个平台都可以实现,这样可以节省开发者花在浏览器页面展现兼容性上的时间。另外,HTML5是Web前端技术的一个代名词,其核心技术点还是JavaScript。如HTML5的服务器推送技术再结合JavaScript编程,能够帮助我们实现服务器将数据“推送”到客户端的功能,客户端与服务器之间的数据传输将更加高效。基于SVG、Canvas、WebGL及CSS3的3D功能,会让用户惊叹在浏览器中所呈现的各种炫酷的视觉效果。以往在iPhone iPad上不支持的Flash将来都有可能通过HTML5华丽地呈现在用户的iOS设备上。
本套图书介绍
为了让前端技术初学者少走弯路,快速而轻松地学习HTML5和JavaScript编程,我们结合新技术和兄弟连多年的教学经验积累,再通过对企业实际应用的调研,编写了一整套HTML5系列图书,共5本,包括《细说网页制作》、《细说JavaScript语言》、《细说DOM编程》、《细说AJAX与jQuery》和《细说HTML5高级API》。每一本书都是不同层次的完整内容,不仅给初学者安排了循序渐进的学习过程,也便于不同层次的读者选择;既适合没有编程基础的前端技术初学者作为入门教程,也适合正在从事前端开发的人员作为技术提升参考资料。本套图书编写的初衷是为了紧跟新技术和兄弟连IT教育HTML5学科的教学发展,作为本校培训教程使用,也可作为大、中专院校和其他培训学校的教材。同时,对于前端开发爱好者,本书也有较高的参考价值。
《细说网页制作》
作为“跟兄弟连学HTML5系列教程”的第一本书,主要带领HTML5初学者一步步完成精美的页面制作。本书内容包括HTML应用、CSS应用、HTML5的新技术、各种主流的页面布局方法和一整套页面开发实战技能,让读者可以使用多种方法完成PC端的页面制作、移动端的页面制作,以及响应式布局页面的制作,不仅能做出页面,还能掌握如何做好页面。
《细说JavaScript语言》
这是“跟兄弟连学HTML5系列教程”的第二本书,在学习本书之前需要简单了解一下第一本书中的HTML和CSS内容。本书内容是纯JavaScript语言部分,和浏览器无关,包括JavaScript基本语法、数据类型、流程控制、函数、对象、数组和内置对象,所有知识点都是为了学习DOM编程、Node.js、JS框架等JavaScript高级部分做准备。本书虽然是JavaScript的基础部分,但全书内容都需要牢牢掌握,才能更好地晋级学习。
《细说DOM编程》
这是“跟兄弟连学HTML5系列教程”的第三本书,全书内容都和浏览器相关,在学习本书之前需要掌握前两本书的技术。本书内容包括BOM和DOM两个关键技术点,并且全部以PC端和移动端的Web特效为主线,以实例贯穿全部知识点进行讲解。学完本书的内容,不仅可以用JavaScript原生的语法完成页面的特效编写,也为学习后面的JavaScript框架课程做好了准备。本书内容是Web前端课程的核心,需要读者按书中的实例多加练习,能熟练地进行浏览器中各种特效程序的开发。
《细说AJAX与jQuery》
这是“跟兄弟连学HTML5系列教程”的第四本书,其内容是建立在第三本书之上的,包括服务器端开发语言Node.js、异步传输AJAX和jQuery框架三部分。其中,Node.js部分是为了配合AJAX完成客户端向服务器端的异步请求;jQuery是目前主流的前端开发框架,其目的是让开发者用尽量少的代码完成尽可能多的功能。AJAX和jQuery是目前前端开发的必备技术,本书从基本应用开始学起,用实例分解方式讲解技术点,让读者完全掌握这些必备的技能。
《细说HTML5高级API》
这是“跟兄弟连学HTML5系列教程”的第五本书,是前端开发的应用部分,主要讲解HTML5高级API的相关内容,包括画布、Web存储、应用缓存、服务器发送事件等,可以用来开发移动端的Web APP项目。本书重点讲解了Cordova技术,它提供了一组与设备相关的API,通过这组API,移动应用就能够通过JavaScript访问原生的设备功能,如摄像头、麦克风等。Cordova还提供了一组统一的JavaScript类库,以及与这些类库所用的设备相关的原生后台代码。通过编写HTML5程序,再用Cordova打包出混合APP的项目,可以安装在Android和iOS等设备上。
本套图书的特点
1.内容丰富,由浅入深
本套图书在内容组织上本着“起点低,重点高”的原则,内容几乎涵盖前端开发的所有核心技能,对于某一方面的介绍再从多角度进行延伸。为了让读者更加方便地学习本套图书的内容,在每本书的每个章节中都提供了一些实际的项目案例,便于读者在实践中学习。
2.结构清晰,讲解到位
每个章节都环环相扣,为了让初学者更快地上手,本套图书精心设计了学习方式。对于概念的讲解,都是先用准确的语言总结概括,再用直观的图示演示过程,接着以详细的注释解释代码,最后用形象的比喻帮助记忆。对于框架部分,先提取核心功能快速掌握框架的应用,再用多个对应的实例分别讲解每个模块,最后逐一讲解框架的每个功能。对于代码部分,先演示程序效果,再根据需求总结涉及的知识点逐一讲解,然后组合成实例,最后总结分析重点功能的逻辑实现。
3.完整案例,代码实用
为了便于读者学习,本套图书的全部案例都可以在商业项目中直接运用,丰富的案例几乎涵盖前端应用的各个方面。所有的案例都可以通过对应的二维码扫描,直接在手机上查看运行结果,读者可以通过仔细研究其效果,最大限度地掌握开发技术。另外,扫描每个章节中的资源下载二维码,可以获得下载链接,点击链接即可获取所有案例的完整源代码。
4.视频精致,立体学习
字不如表,表不如图,图不如视频,每本书都配有详细讲解的教学视频,由兄弟连名师精心录制,不仅能覆盖书中的全部知识点,而且远远超出书中的内容。通过参考本套图书,再结合教学视频学习,可以加快对知识点的掌握,加快学习进度。读者可以扫描每个章节中提供的教学视频二维码,获取视频列表直接在手机上观看,也可以直接登录“猿代码(www.ydma.cn)”平台在PC端观看,逐步掌握每个技术点。
5.电子教案,学教通用
每本书都提供了和章节配套的电子教案(PPT)。对于学生来说,电子教案可以作为学习笔记使用,是知识点的浓缩和重点内容的记录。由于本套图书可以作为高校相关课程的教材或课外辅导书,所以可以方便教师教学使用。读者可以通过扫描对应章节的二维码,下载或在线观看电子教案。本书为部分章节提供了一些扩展文章,也可以通过扫描二维码的方式下载或在线观看。
6.实时测试,寓学于练
每章最后都提供了专门的测试习题,供读者检验所学知识是否牢固掌握。通过扫描测试习题对应的二维码,可以查看答案和详细的讲解。
7.技术支持,服务到位
为了帮助读者学到更多的HTML5技术,在兄弟连论坛(bbs.itxdl.cn)中还可以下载常用的技术手册和所需的软件。笔者及兄弟连IT教育(新三板上市公司,股票代码:839467)的全体讲师和技术人员也会及时回答读者的提问,与读者进行在线技术交流,并为读者提供各类技术文章,帮助读者提高开发水平,解决读者在开发中遇到的疑难问题。
本套图书的读者群
有审美,喜欢编程,并且怀揣梦想的有志青年。
打算进入前端编程大门的新手,阶梯递进,由浅入深。
专业培训机构前端课程授课教材,有体系地掌握全部前端技能。
各大院校的在校学生和相关的授课老师,课件、试题、代码丰富实用。
前端页面、Web APP、网页游戏、微信公众号等开发的前沿程序员,是专业人员的开发工具。
其他方向的编程爱好者,需要前端技术配合,或转向前端开发的程序员。
2017年8月

目录

第1章 鸟瞰HTML5 1
1.1 原生还是混合 1
1.1.1 原生应用的优缺点 2
1.1.2 混合应用的优缺点 2
1.2 移动端Web站点和原生应用 3
1.2.1 构建移动端解决方案 3
1.2.2 建立成功的移动端方案 4
1.3. Web API和APP组件开发 5
1.3.1 面向API方式的开发方式 6
1.3.2 组件化自动化构建 7
1.3.3 未来展望 7
1.4 本章总结 8
第2章 HTML5 bMap地理位置与服务 9
2.1 基本知识之经纬度 9
2.2 bMap JavaScript API实例之Hello bMap 10
2.2.1 创建账户和申请密钥 11
2.2.2 Hello bMap应用 13
2.3 应用bMap JavaScript API 15
2.3.1 实例之添加定位控件 15
2.3.2 实例之步行路线 18
2.3.3 实例之驾车路线 21
2.3.4 实例之公交路线 23
2.3.5 实例之本地搜索 25
2.4 本章总结 27
练习题 28
第3章 HTML5本地存储 29
3.1 Web Storage API 29
3.1.1 使用Web Storage API的好处 29
3.1.2 浏览器客户端常用的存储数据方式 30
3.1.3 简单存储实例 30
3.2 Web Storage的常用方法 32
3.2.1 setItem()与getItem()方法的使用 32
3.2.2 key()方法的使用 32
3.2.3 removeItem()和clear()方法的使用 34
3.3 实例:幻灯播放 35
3.3.1 impress的介绍与下载 35
3.3.2 效果与代码清单 36
3.3.3 impress.js的主要方法 38
3.4 本章小结 39
练习题 40
第4章 HTML5 Canvas API应用 41
4.1 什么是Canvas 41
4.1.1 Canvas的由来 41
4.1.2 Canvas的概念 42
4.2 如何使用Canvas 43
4.2.1 使用Canvas API的基本知识 43
4.2.2 检测浏览器是否支持Canvas 44
4.2.3 Canvas与CSS的关系与应用 46
4.3 使用Canvas绘制矩形的对角线 48
4.3.1 HTML代码实例 48
4.3.2 思路分析 51
4.4 使用Canvas API绘制圆 51
4.4.1 绘制圆的参数说明 51
4.4.2 绘制圆的HTML代码清单 52
4.4.3 绘制圆的效果图 53
4.5 使用Canvas API绘制矩形 54
4.5.1 绘制矩形的参数说明 54
4.5.2 绘制矩形的HTML代码 54
4.5.3 绘制矩形的效果图 55
4.6 使用Canvas绘制时钟的实例 56
4.6.1 绘制时钟的原理 56
4.6.2 绘制时钟的HTML代码清单 56
4.6.3 绘制时钟的效果图 60
4.7 本章总结 60
练习题 61
第5章 HTML5中的WebSocket的应用 63
5.1 认识WebSocket API 63
5.1.1 简单理解WebSocket 63
5.1.2 WebSocket协议和HTTP的不同 64
5.2 WebSocket和HTTP会话演示 67
5.2.1 HTTP的会话演示 67
5.2.2 WebSocket的会话演示 67
5.2.3 浏览器的支持情况 68
5.2.4 WebSocket的API常用的方法和属性 68
5.3 经典案例:WebSocket聊天室 69
5.3.1 服务器代码片段 70
5.3.2 HTML界面代码片段 72
5.3.3 客户端的实现 75
5.3.4 效果演示和详解 78
5.4 本章总结 81
第6章 FileReader API的引用 82
6.1 FileReader API的概念 82
6.2 FileReader API的相关方法 83
6.2.1 readAsText()方法 83
6.2.2 readAsDataURL()方法 83
6.2.3 readAsBinaryString()方法 84
6.2.4 readAsArrayBuffer()方法 84
6.2.5 abort()方法 84
6.3 实例:读取文本内容 84
6.3.1 思路分析 84
6.3.2 HTML文档代码片段 85
6.3.3 JavaScript代码片段 86
6.3.4 简单的CSS代码片段 87
6.3.5 必要属性和事件驱动 87
6.4 实例:读取图像文件 89
6.4.1 JavaScript代码片段 89
6.4.2 HTML代码片段 89
6.4.3 CSS代码片段 91
6.4.4 思路梳理 91
6.5 本章总结 93
练习题 93
第7章 HTML5拖放API 95
7.1 DOM和CSS实现的类似拖放功能的弊端 95
7.2 拖放API的概念 96
7.3 拖放API的事件和说明 97
7.4 拖放API的使用 97
7.5 实例1:经典列表拖放 98
7.6 实例2:文件拖放 101
7.7 本章总结 104
练习题 104
第8章 Apache Cordova简介 106
8.1 Cordova或PhoneGap 106
8.1.1 Cordova的由来 107
8.1.2 Cordova和PhoneGap的区别 108
8.1.3 Cordova的特点 108
8.1.4 注意事项 109
8.2 搭建Cordova环境 109
8.2.1 安装Node.js 109
8.2.2 安装和使用Node.js版本管理工具 113

8.3 安装使用Cordova 116
8.3.1 安装Cordova到系统中 116
8.3.2 使用淘宝的镜像 117
8.3.3 创建第一个Cordova APP 118
8.3.4 项目目录的结构讲解 120
8.3.5 单页面应用 121
8.4 本章总结 124
练习题 125
第9章 Cordova的真机调试和必备知识 126
9.1 JDK的安装与配置 126
9.1.1 在Mac OS X上安装JDK 127
9.1.2 在Windows平台上安装JDK 128
9.1.3 测试Java是否安装成功 129
9.1.4 在Windows平台上配置环境变量 129
9.2 Android Studio的下载与安装 132
9.2.1 Mac上Android Studio的下载与安装 132
9.2.2 Windows上Android Studio的下载与安装 133
9.3 Android Studio的SDK包的管理 134
9.3.1 安装必要的SDK 134
9.3.2 单例模式下运行SDK Manager 135
9.4 安卓真机的运行与调试 136
9.4.1 创建一个名为HelloAndroid的APP 136
9.4.2 添加安卓平台 136
9.4.3 查看编译环境 137
9.4.4 编译安卓应用 137
9.4.5 安装到安卓手机并运行 138
9.5 苹果手机的真机调试 139
9.5.1 新建一个名为hello的APP 139
9.5.2 打开Xcode,加载项目 140
9.5.3 编译和安装hello项目 140
9.5.4 重新打开手机上名为hello的APP 141
9.6 Cordova编辑器小知识 142
9.6.1 SublimeText3 142
9.6.2 WebStorm 143
9.7 本章总结 144
练习题 144
第10章 Cordova开发基础 146
10.1 什么是flexbox 146
10.2 理解flexbox布局模型 147
10.3 深入理解伸缩容器的属性 148
10.3.1 display属性 149
10.3.2 flex-direction属性 150
10.3.3 flex-wrap属性 153
10.3.4 flex-flow属性 156
10.3.5 justify-content属性 158
10.3.6 align-items属性 162
10.3.7 align-content属性 167
10.4 深入理解伸缩项目的属性 173
10.4.1 order属性 174
10.4.2 flex-grow属性 175
10.4.3 flex-shrink 177
10.4.4 flex-basis属性 178
10.4.5 flex属性 180
10.4.6 align-self属性 181
10.5 本章总结 187
练习题 188
第11章 Cordova中的事件处理 189
11.1 关于Cordova生命周期 189
11.1.1 认识程序的生命周期 189
11.1.2 理解Cordova生命周期中的事件 191
11.2 Cordova生命周期事件的使用 194
11.2.1 Cordova的生命周期中的程序加载状态事件 194
11.2.2 Cordova生命周期中的设备状态事件 198
11.2.3 Cordova生命周期中的用户主动触发事件 200
11.3 本章总结 204
练习题 204
第12章 Cordova地理位置信息服务 206
12.1 Geolocation API的使用 206
12.1.1 获取设备的地理位置信息 207
12.1.2 获取设备坐标的实例 207
12.2 监听设备信息变化 210
12.2.1 监听设备地理位置实例 210
12.2.2 监听地理位置信息变化参数分析 213
12.3 本章总结 213
练习题 214
第13章 Cordova设备方向API 216
13.1 获取当前设备的方向案例 216
13.2 监测当前设备的位置信息 220
13.3 仿微信摇一摇功能的实例 222
13.4 本章总结 225
练习题 226
第14章 Cordova中的多媒体 228
14.1 播放远程音乐 228
14.2 暂停音乐播放 234
14.3 停止音乐播放 236
14.4 追踪显示播放进度 238
14.5 从指定的位置播放 240
14.6 录制声音与播放声音 242
14.7 资源与性能优化 244
14.8 本章总结 245
练习题 245
第15章 Cordova中的内置浏览器 247
15.1 认识内置浏览器 247
15.2 第一个简单的实例 248
15.3 第二个实例:自定义URL 250
15.4 本章总结 253
练习题 253
第16章 Cordova中的数据库存储 255
16.1 Cordova中的本地存储 255
16.1.1 Web端的本地存储 255
16.1.2 Cordova应用中的本地存储 258
16.2 Cordova中的数据库 259
16.2.1 认识Cordova中的SQLite API 261
16.2.2 使用SQLite SQL 261
16.3 本章总结 266
练习题 266
第17章 Cordova中的Device Motion API 268
17.1 使用加速传感器 268
17.1.1 加速度的概念 268
17.1.2 获取当前加速度的实例 269
17.2 监控设备的加速度 271
17.2.1 如何监控当前设备的加速度 271
17.2.2 监测当前设备加速度的实例 272
17.2.3 深入理解“加速度” 274
17.2.4 哪些场景可以应用加速传感器 275
17.3 本章总结 278
练习题 278