产品特色
编辑推荐
(1)赠送本书中提到的程序的源代码 http://pan.baidu.com/s/1gfsTf2b
(2)本书涵盖了HTML 5移动Web开发的所有常用知识点及开发工具,可以帮助传统Web开发者搭乘HTML 5快车,轻松开发和部署移动应用,也可以使移动开发者挖掘Web潜力,在传统网页的基础上获得跨平台支持。
内容简介
本书由浅入深,全面、系统、详尽地介绍了HTML 5相关技术及其在移动开发领域的应用。从基本原理到移动页面优化再到实战应用,几乎涉及HTMML 5移动开发领域的绝大部分内容,是一本集理论与实战的综合性参考书。
本书共13章,分为3篇。第1篇为HTML 5移动特性,内容包括HTML 5移动开发基础、移动表单、多媒体形式、地理位置定位(Geolocation)、离线缓存、Canvas绘图、CSS 3视觉辅助和调用手机设备等,最后还剖析了移动性能优化的一些技巧。第2篇为HTML 5移动框架,主要介绍jQueryMobile和SenchaTouch这两个当下流行的移动框架。第3篇为HTML 5移动实战,详细讲解了使用jQueryMobile和SenchaTouch这两个移动框架开发移动应用的过程与方法。
本书适合所有想全面深入学习HTML 5移动开发技术的人员阅读,尤其适合正在应用HTML 5做移动项目开发的人员阅读。对于大中专院校相关专业的学生和培训机构的学员,本书也是一本不可多得的参考书。
作者简介
常新峰,资深网页开发设计师,并有多年教学经验及实际操作经验,先后出版多版作品。
内页插图
目录
第1章 HTML 5移动入门 1
1.1 认识HTML 1
1.1.1 HTML的构成 1
1.1.2 CSS的构成 2
1.1.3 JavaScript的构成 3
1.2 认识HTML 5 4
1.2.1 HTML 5的发展与理念 5
1.2.2 HTML 5和XHTML的对比 6
1.3 制作一个简单的HTML 5移动APP 7
1.3.1 开发工具的选择 8
1.3.2 APP代码的编写 8
1.3.3 调试运行 Hello APP 9
1.4 HTML 5的移动特色 10
1.5 本章小结 10
第2章 移动特性1——移动表单 11
2.1 丰富的表单属性 11
2.2 移动Web表单的input类型 12
2.2.1 search类型文本 12
2.2.2 email类型文本 13
2.2.3 number类型文本 14
2.2.4 range类型文本 15
2.2.5 tel类型文本 15
2.2.6 url类型文本 16
2.3 HTML 5表单新属性 16
2.3.1 autocomplete属性 16
2.3.2 autofocus属性 17
2.4 范例——创建一个HTML 5版的APP注册页面 18
2.4.1 代码设计 19
2.4.2 代码分析 24
2.5 本章小结 26
第3章 移动特性2——多媒体形式 27
3.1 音频视频 27
3.1.1 音频视频的格式 27
3.1.2 使用video/audio元素 27
3.1.3 音频视频的通信 29
3.2 范例——制作音乐播放器APP 31
3.3 范例——制作视频播放器APP 33
3.3.1 普通视频播放器 34
3.3.2 添加视频进度条 37
3.3.3 添加视频快进慢进按钮 40
3.3.4 处理带字幕的视频 41
3.4 本章小结 43
第4章 移动特性3——地理位置定位 44
4.1 认识地理位置 44
4.1.1 纬度和经度坐标 44
4.1.2 定位数据 45
4.1.3 构建地理位置应用 46
4.2 手机地理位置定位 47
4.3 谷歌地图的使用 49
4.3.1 追踪用户的位置 49
4.3.2 查找路线 53
4.3.3 用户自定义的地理定位 61
4.4 高德地图的使用 65
4.5 本章小结 67
第5章 移动特性4——离线缓存 68
5.1 离线缓存应用 68
5.1.1 离线缓存API简介 68
5.1.2 使用Manifest方法 71
5.1.3 使用ApplicationCache API方法 72
5.1.4 搭建简单的离线APP 72
5.2 离线事件处理 76
5.3 范例——离线贴吧APP 80
5.4 本章小结 84
第6章 移动特性5——Canvas绘图 85
6.1 HTML 5的绘图API 85
6.1.1 什么是Canvas 85
6.1.2 加载Canvas 86
6.1.3 什么是SVG 87
6.1.4 什么是WebGL 89
6.1.5 Paper.js图形库 90
6.2 应用Canvas 91
6.2.1 绘制图形 92
6.2.2 绘制文字 96
6.2.3 颜色渐变 103
6.3 范例——带特效的相册APP 106
6.4 本章小结 114
第7章 移动特性6——CSS 3视觉辅助 115
7.1 CSS 3的变化 115
7.2 背景(Backgrounds) 116
7.3 文字效果(Text Effects) 117
7.4 边框(Border) 118
7.5 用户界面(User interface) 120
7.6 转换(Transform) 122
7.7 过渡(Transition) 123
7.8 范例——用CSS 3画哆啦A梦 124
7.8.1 头和脸 125
7.8.2 脖子和铃铛 129
7.8.3 身体和四肢 131
7.8.4 让眼睛动起来 135
7.9 本章小结 136
第8章 移动特性7——调用手机设备 137
8.1 HTML 5调用手机摄像头 137
8.2 HTML 5调用手机相册 140
8.3 HTML 5调用手机通讯录 146
8.4 本章小结 149
第9章 HTML 5移动性能优化 150
9.1 HTML 5的性能考量 150
9.1.1 浏览器性能 150
9.1.2 网络性能 153
9.1.3 开发效率 154
9.2 加载优化 156
9.2.1 减少HTTP请求 156
9.2.2 充分利用缓存 160
9.2.3 压缩 161
9.2.4 优化JavaScript加载性能 165
9.2.5 其他加载优化 173
9.3 CSS优化 175
9.3.1 了解页面的渲染过程 176
9.3.2 避免在HTML标签中写Style属性 178
9.3.3 正确使用display属性 179
9.3.4 避免使用CSS表达式 179
9.3.5 请勿滥用float属性 180
9.3.6 不滥用Web字体 182
9.3.7 不声明过多的Font-size 184
9.3.8 优化选择器的使用 185
9.4 图片优化 187
9.4.1 使用CSS 3代替图片 187
9.4.2 使用Data URI代替图片 190
9.4.3 使用SVG代替图片 194
9.4.4 IconFont与SVG优劣对比 196
9.4.5 使用压缩图片 197
9.4.6 使用srcset 198
9.4.7 使用WebP 200
9.5 渲染优化 201
9.5.1 渲染流程 202
9.5.2 使用Viewport加速页面渲染 203
9.5.3 动画优化 204
9.5.4 高频事件优化 207
9.5.5 GPU加速 210
9.6 脚本优化 211
9.6.1 脚本执行优化 211
9.6.2 条件JavaScript 212
9.6.3 缓存DOM操作 215
9.6.4 尽量使用事件代理以避免批量绑定事件 219
9.6.5 尽量使用ID选择器 221
9.6.6 click事件优化 223
9.7 本章小结 225
第10章 jQuery Mobile移动框架 226
10.1 初步接触jQuery Mobile 226
10.1.1 jQuery Mobile框架特点 226
10.1.2 jQuery Mobile框架安装与配置 227
10.1.3 创建第一个jQuery Mobile APP 229
10.2 jQuery Mobile页面与导航 231
10.2.1 jQuery Mobile单页面 231
10.2.2 jQuery Mobile多页面 233
10.2.3 jQuery Mobile对话框页面 236
10.2.4 jQuery Mobile导航 241
10.2.5 jQuery Mobile加载 246
10.2.6 jQuery Mobile动画效果 250
10.3 jQuery Mobile CSS样式 253
10.3.1 按钮样式 253
10.3.2 图标样式 260
10.3.3 网格布局样式 264
10.4 jQuery Mobile小部件 268
10.4.1 工具条 268
10.4.2 导航条 271
10.4.3 选项卡 275
10.4.4 面板 278
10.4.5 弹出框 281
10.5 jQuery Mobile表单 284
10.5.1 输入框 284
10.5.2 复选框 286
10.5.3 单选按钮 288
10.5.4 下拉列表框 289
10.5.5 滑块控件 291
10.6 本章小结 293
第11章 Sencha Touch框架 294
11.1 初步接触Sencha Touch 294
11.1.1 Sencha Touch框架特点 294
11.1.2 Sencha Touch框架环境搭建 295
11.1.3 创建第一个Sencha Touch APP 303
11.1.4 Sencha Touch APP代码解析 307
11.1.5 运行Sencha Touch APP 318
11.2 Sencha Touch核心概念 320
11.2.1 类系统 320
11.2.2 容器组件 332
11.2.3 组件布局 334
11.2.4 事件 338
11.3 Sencha Touch组件 343
11.3.1 导航视图 343
11.3.2 旋灯视图 348
11.3.3 表单 351
11.4 本章小结 354
第12章 jQuery Mobile框架实战——移动便笺APP 355
12.1 项目介绍 355
12.2 项目功能模块 356
12.2.1 主页 356
12.2.2 便笺内容浏览页面 358
12.2.3 登录页面 360
12.2.4 便笺内容浏览页面(用户权限) 362
12.2.5 新建便笺内容 364
12.2.6 编辑便笺内容 367
12.2.7 删除便笺内容 367
12.2.8 清空便笺内容 368
12.3 本章小结 369
第13章 Sencha Touch框架实战——通讯录APP 370
13.1 项目介绍 370
13.2 项目功能模块 371
13.2.1 app.js主入口文件 371
13.2.2 Model模型 372
13.2.3 Store存储 372
13.2.4 View主视图 373
13.2.5 Contacts视图类 375
13.2.6 Controller控制器 376
13.3 测试运行项目 378
13.4 本章小结 380
前言/序言
移动互联是如今互联网最热门的词汇,其代表着互联网未来的趋势。这一切似乎是昨天才发生的,但放眼望去,智能移动终端设备已经是人们日常生活中不可或缺的一部分。众所周知,智能移动终端设备是iOS与Android的天下,但是iOS和Android开发门槛也不低。随着HTML 5技术的不断发展与成熟,移动应用开发领域迎来了崭新的时代,设计人员发现以前需要折腾许久的项目,使用HTML 5技术则简单了很多。当然HTML 5也不是万能的,毕竟iOS和Android作为原生系统有着不可替代的地位,如果将HTML 5的前端技术发挥到极致,也会让移动应用开发更上一层楼。
关于HTML 5新手必须知道的
HTML 5不仅仅是HTML
早期的HTML在非常长的时间里被人们认为是一种效率低下且功能简单的网页开发技术,但Web技术的不断发展让“网页”和“应用”的界限越来越模糊,尤其是HTML 5的横空出世,让Web变得更加强大。
HTML 5标准草案最初发布于2008年,而后被各大浏览器厂商跟进,包括Chrome、IE、Opera和Safari等。它发展迅速,很快成为了开发跨平台和跨设备应用的首选客户端技术。它赋予浏览器强大的能力。例如,基于HTML 5甚至完全可以抛弃特定的操作系统平台——Chromebook就是这方面的有力践行者。
对于开发人员来讲,HTML 5使得开发应用程序更加高效、快捷、简单,几十行代码便可以实现过去几百甚至上千行代码才能实现的功能,省时又省力。
HTML 5易学易用
HTML 5增强了HTML的功能,但又摒弃了XHTML的复杂,在学习上几乎不用花费太多功夫,在使用上也尽量贴近人们的常规思维。
HTML 5社区和相关技术发展也十分迅速。在移动互联网的助力下,HTML 5的步子迈得更大了。一方面,对程序开发不了解的设计师也能利用HTML 5和CSS 3技术轻易地设计出高保真的动态应用原型。另一方面,前端开发工程师可以利用HTML 5提供的编程接口编写出强大的应用程序。
本书与HTML 5
许多人在学习HTML 5的时候不明白究竟什么才算是HTML 5,也经常搞混一些概念和用法。从某种角度来说,HTML 5是一系列技术标准的集合,并且是不断向前发展的技术。为了帮助那些对移动开发感兴趣的读者能够在较短的时间内掌握HTML 5开发技术,笔者编写了本书。
本书首先从HTML 5的历史和背景入手,让读者理解HTML 5究竟为何物;然后一一讲解HTML 5的相关技术标准及其在移动Web开发中的应用,以期读者能够掌握HTML 5移动Web开发的核心内容;最后讲解HTML 5移动Web开发的相关工具,让读者可以快速成为一位高效而专业的开发者。
本书特色
内容丰富,覆盖面广
本书基本涵盖了HTML 5移动Web开发的所有常用知识点及开发工具。无论是初学者还是有一定基础的Web开发从业人员,通过阅读本书都将获益匪浅。
注重实践,快速上手
本书不以枯燥乏味的理论知识作为讲解的重点,而是从实践出发,将必要的理论知识和大量的开发实例相结合,并将笔者多年的实际项目开发经验贯穿于全书的讲解中,让读者可以在较短的时间内理解和掌握所学的知识。
内容深入、专业
本书直击要害,先从标准文档入手,深入浅出地讲解了Web技术的原理;然后结合移动Web开发的相关工具,介绍实际的移动Web开发,让读者学有所用。最专业的内容是本书还详细剖析了HTML 5移动页面优化的技巧。
实例丰富,随学随用
本书提供了大量来源于真实Web开发项目的实例,并给出丰富的程序代码及注释。读者通过研读这些例子,不仅可以了解实际开发中编写代码的思路和技巧,还可以将这些代码直接复用,以提高自己的开发效率。
适合阅读本书的读者
需要全面学习移动应用开发技术的人员
HTML 5初学者
有一定基础的Web开发人员
Web前端开发工程师
移动应用开发人员
混合应用开发人员
微信HTML 5网页开发人员
浏览器开发人员
大中专院校的学生
相关培训班的学员
下载资源
为了方便广大读者学习,我们还提供了有关程序的源代码,下载地址(注意数字和字母大小写)
如果下载有问题,请电子邮件联系,邮件主题为“HTML5移动开发入门源码”。
本章第1~8章由平顶山学院的常新峰编写,第10~12章由华北电力大学的王金柱编写。本书还要特别鸣谢阿里旅行的美女程序员赵荣娇,在怀孕期间写作了第9章。另外,陈宇、刘轶、姜永艳、马飞、王琳、张鑫、张喆、赵海波、杨旺功、欧阳薇、周瑞、李为民、陈超、杜礼、孔峰等也参与了本书的编写工作,在此表示感谢。
编 者
2017年1月
《从零开始:响应式网页设计与前端框架实战》 内容简介 本书是一本面向初学者,但又不乏深度和广度的前端开发指南。它旨在帮助读者从最基础的网页构建概念出发,逐步掌握现代响应式网页设计的核心技术,并深入了解当前最流行的前端开发框架,为读者打开通往专业前端开发的大门。本书不仅注重理论知识的讲解,更强调实践应用,通过大量精心设计的案例和代码示例,让读者在动手实践中巩固知识,提升解决实际问题的能力。 第一部分:网页基础与响应式设计精髓 在现代互联网时代,网站需要能够在各种屏幕尺寸的设备上提供一致且优化的用户体验。本书的开篇便会带领读者系统地学习构建网页的基石——HTML和CSS。我们不会仅仅停留在语法层面的介绍,而是会深入剖析HTML5语义化标签的优势,以及如何利用它们构建更具可访问性和SEO友好性的网页结构。CSS部分,我们则会聚焦于现代CSS的强大功能,从基本的选择器、盒子模型、布局(Flexbox、Grid)到动画和过渡效果,逐一讲解,让读者能够灵活运用CSS来美化网页,实现丰富的视觉表现。 特别地,本书将花费大量篇幅来深入探讨响应式网页设计的理念和实践。我们会详细讲解“移动优先”的设计原则,以及如何通过媒体查询(Media Queries)让网页内容和布局根据设备的屏幕尺寸动态调整。读者将学习到如何构建能够自适应不同分辨率屏幕(从手机、平板到桌面显示器)的网页布局,确保用户在任何设备上都能获得流畅的浏览体验。本书还会介绍一些实用的响应式设计技巧,例如断点选择、图片适配、字体调整策略等,帮助读者规避常见的响应式开发陷阱。 第二部分:JavaScript核心与动态交互 如果说HTML和CSS是网页的骨架和皮肤,那么JavaScript就是赋予网页生命的灵魂。本书的第二部分将带你踏入JavaScript的世界。我们将从JavaScript的基本语法、数据类型、运算符、控制流语句开始,循序渐进地讲解函数、对象、数组等核心概念。在此基础上,我们将深入学习DOM(文档对象模型)的操作,学习如何使用JavaScript来动态地修改网页内容、响应用户交互、实现复杂的页面效果。 本书将重点介绍事件处理机制,让读者理解如何监听和响应用户的各种操作,如点击、鼠标移动、键盘输入等。我们将通过一系列的实例,演示如何使用JavaScript来创建交互式表单、实现下拉菜单、构建图片轮播、开发动态加载内容的功能。此外,我们还会触及一些更高级的概念,如异步编程(Promise、async/await)、Ajax(Asynchronous JavaScript and XML)用于实现无刷新数据更新,以及一些常用的ES6+新特性,这些都将极大地提升读者的JavaScript开发能力。 第三部分:前端框架的崛起与实战 随着前端技术的飞速发展,前端框架已经成为现代Web开发不可或缺的一部分。本书的第三部分将聚焦于当下最主流的前端开发框架,并提供详实的实战指导。我们将选择一个或两个具有代表性的框架(例如React、Vue.js或Angular),从零开始讲解它们的安装、基本概念、组件化开发模式、状态管理、路由等核心特性。 以React为例,本书将详细讲解JSX语法、组件的创建与复用、Props和State的使用、事件处理、生命周期方法等。我们将通过构建一个简单的待办事项列表应用、一个博客文章展示页面等项目,让读者亲身体验组件化开发带来的高效和便捷。对于状态管理,我们将介绍Context API和Redux/Vuex等流行方案,帮助读者管理复杂应用中的数据流。路由部分,则会讲解如何实现单页面应用的页面导航。 本书在框架部分的最大特色在于其“实战”导向。我们不会仅仅停留在理论层面,而是会带领读者完成几个具有一定规模和实际应用价值的项目。这些项目将涵盖从需求分析、架构设计到编码实现、最终部署的完整流程,让读者能够全面地了解框架在实际项目中的应用。通过这些项目,读者将学会如何组织代码、如何进行组件拆分与组合、如何与后端API进行数据交互、如何进行错误处理和性能优化等。 第四部分:性能优化与高级主题 一个优秀的网站不仅要功能齐全,更要具备良好的性能。本书的第四部分将关注前端开发的性能优化方面。我们将深入探讨页面加载速度、渲染效率、JavaScript执行效率等关键性能指标。读者将学习到如何通过优化图片、压缩代码、使用懒加载、代码分割、浏览器缓存等技术来提升网站的加载速度和响应能力。 此外,我们还将触及一些更高级的前端开发主题,例如: 版本控制工具(Git): 讲解Git的基本使用,包括提交、分支、合并等,让读者能够高效地管理自己的代码,并与他人协作。 构建工具(Webpack/Vite): 介绍现代前端开发中常用的构建工具,理解它们在模块打包、代码转换、资源管理等方面的作用,以及如何配置和使用它们来提高开发效率。 测试基础: 简要介绍单元测试、集成测试等概念,并演示如何使用 Jest 等工具编写简单的测试用例,确保代码质量。 可访问性(Accessibility): 讲解如何遵循WCAG(Web Content Accessibility Guidelines)标准,创建对所有用户,包括残障人士友好的网页。 学习目标与读者群体 本书的学习目标是让读者: 掌握 HTML5语义化标签和CSS3的布局与样式设计。 理解并实践 响应式网页设计的核心理念与技术。 熟练运用 JavaScript进行DOM操作、事件处理和实现页面动态交互。 掌握 至少一个主流前端框架(如React或Vue.js)的基本原理和开发流程。 能够 构建小型到中型的Web应用。 了解 前端性能优化的常用方法和技术。 具备 基础的版本控制和构建工具使用能力。 本书适合以下人群: 零基础的编程爱好者,希望入门Web前端开发。 有一定HTML/CSS基础,但想深入学习JavaScript和现代前端技术的开发者。 正在寻找系统学习响应式设计和前端框架的在校学生或转行人员。 希望提升自身前端开发技能,了解最新技术趋势的初级开发者。 本书特色 循序渐进,结构清晰: 从基础到高级,内容组织逻辑严密,适合不同层次的读者。 理论与实践紧密结合: 每个知识点都配有详实的案例代码,引导读者动手实践。 项目驱动学习: 通过完成实际项目,让读者在解决问题的过程中巩固所学。 语言通俗易懂: 避免过于晦涩的技术术语,用简洁明了的语言进行讲解。 紧跟行业趋势: 涵盖当前Web开发领域最热门的技术和工具。 通过本书的学习,读者将能够独立构建出满足现代Web标准、响应式布局、具备丰富交互性的网页应用,为未来的进阶学习和职业发展打下坚实的基础。