HTML5移动Web+Vue.js应用开发实战

HTML5移动Web+Vue.js应用开发实战"

作者:吕鸣
ISBN:9787302554196
定价:¥89
字数:千字
页数:
出版时间:2020.07.01
开本:
版次:1-2
装帧:
出版社:清华大学出版社
简介

本书综合运用HTML5、Vue.js全家桶等流行前端技术介绍了如何开发一款企业级移动Web应用的方法与技巧,主要内容包括:HTML5语义标签和属性,HTML5音视频,HTML5 Canvas,HTML5网页存储,CSS3选择器,CSS3背景,CSS3转换、过渡和动画,移动Web开发和调试,响应式页面和Flex布局,移动Web的touch事件系统,Vue.js的组件、指令和模板语法,Vue.js的组件通信、动画和插槽,Vuex与Vue.js结合实现项目状态管理,Vue Router与Vue.js结合实现项目路由管理;PWA渐进式技术和ECMAScript 6新特性等内容,并借助待办事项管理系统和新浪微博Web App项目开发提高读者的实战技能。

本书内容丰富,注重实战,特别适合正在学习移动Web开发或前端开发的人员使用,对于有一年左右从业经验的前端工程师和想要了解企业级移动Web项目开发的前端工程师也能从本书中获得收益。

前言

前    言

随着移动互联网的高速发展,移动端开发技术已经成为现阶段软件工程师不可不学的一门技术,而HTML5移动Web开发技术作为移动端的一个重要领域,以其特有的跨平台、易上手等特性,成为前端工程师必备的技能,结合当下非常流行的Vue.js前端框架,能够开发出各种各样的企业级业务产品。市面上有不少关于HTML5以及Vue.js相关技术的书籍,但是大多都是讲解单一的技术,本书的特点是综合运用了当前流行的前端开发技术,不限于HTML5和Vue.js,而且还讲解了CSS3以及PWA等技术,并讲解了如何综合运用这些技术开发企业级的移动Web项目。读者通过阅读本书能够在掌握理论、技术的同时,深入了解一个真正的移动Web实战项目是如何开发的,并且搭配本书提供的项目视频教程,还可以大大提升学习效率。

本书主要内容

本书从逻辑上可以分为5大部分,共19章,各部分内容概述如下:

第1部分(第1章到第6章)主要介绍HTML5和CSS3基础理论知识相关的内容,其中包括的知识点如下:

? HTML5新增标签的介绍和使用。

? HTML5的Canvas绘图基础。

? HTML5网页存储。

? CSS3新增选择器和样式的介绍与使用。

? CSS3转换、过渡和动画效果。

第2部分(第9章到第11章)主要介绍移动Web开发相关的内容,其中包括的知识点如下:

? 移动Web的调试技巧和方案选择。

? 移动Web的屏幕适配、响应式页面和Flex布局。

? 移动Web的touch事件系统。

第3部分(第12章到第15章)主要介绍Vue.js全家桶相关的内容,其中包括的知识点如下:

? Vue.js的基础知识,包括组件、指令和模板语法等。

? Vue.js的高级进阶知识,包括组件通信、动画和插槽等。

? Vuex与Vue.js结合实现项目状态管理。

? Vue Router与Vue.js结合实现项目路由管理。

第4部分(第16章和第17章)主要介绍PWA技术和ECMAScipt 6相关技术栈的内容,其中包括的知识点如下:

? PWA技术概述。

? Service Worker全方位技术。

? Web Push和Web Notification相关技术。

? ECMAScript 6的新特性。

第5部分(第18章和第19章)主要介绍两个Web项目的开发,从易到难结合书中的理论知识点,并在真正的实战项目中进行应用,便于读者更好地掌握本书的知识点。

本书的适合人群

(1)正在学习前端开发技术的爱好者或即将毕业的学生。

(2)有一年左右工作经验的前端工程师。

(3)想要了解企业级移动Web项目开发的前端工程师。

阅读本书之后,能学到什么?

学习本书,读者需要具备基本的HTML和CSS以及JavaScript编程基础,通过阅读本书你能取得以下收获:

? 掌握HTML5和CSS3相关基础理论知识和实践应用。

? 掌握移动Web开发独有的调试技术、屏幕适配和touch事件系统。

? 掌握Vue.js完整的基础知识和进阶技能。

? 掌握Vuex,Vue Router集合Vue.js的理论和实践。

? 了解PWA技术与移动Web App的深度结合。

? 学会待办事项系统和企业级实战项目新浪微博Web App从0到1完整的开发流程。

本书源代码和视频教学

本书提供了完整的实例代码,读者可以扫描下述二维码获取:

 

另外,本书还提供了微博项目案例的教学视频,读者可以直接扫描相应章节的二维码观看。

如果无法下载,请发邮件至bootsaga@126.com寻求帮助,邮件标题为:HTML5移动Web+Vue.js应用开发实战。

“书犹药也,善读之可以医愚”,每本书都是一剂良药,帮你解决困惑,带来转机。同样,每门技术的掌握都需要从理论到实战,才能真正理解,并为自己所用。对于每一名前端工程师来说,技术的变化和更新必然会带来持久不断地学习,掌握其中的要领便能从容应对,愿各位读者学习本书之后都能有所收获,搭上移动互联网这座大船!

感谢本书在编写时,我的妻子对我的理解和帮助,以及我刚出生一个月的女儿!

编  者

2020.1

目录

目    录

第1章  移动Web开发概述 1

1.1  移动互联网Web技术发展 1

1.2  移动Web开发和PC Web开发的区别 2

1.3  移动Web和HTML5 3

1.4  浏览器安装和代码环境的准备 4

1.4.1  安装Chrome 4

1.4.2  安装Node.js和http-server 4

1.4.3  选择合适的代码编辑器 7

1.5  本章小结 7

第2章  HTML5语义化标签和属性 8

2.1  DOCTYPE声明 8

2.2  <header>标签 10

2.3  <footer>标签 10

2.4  <section>标签 11

2.5  <nav>标签 12

2.6  <aside>标签 13

2.7  语义化标签总结 14

2.8  HTML5其他新增的标签 15

2.8.1  <progress>标签 15

2.8.2  <picture>标签 16

2.8.3  <dialog>标签 17

2.9  HTML5新增的标签属性 18

2.9.1  <input>的type属性 18

2.9.2  <input>文件上传功能 20

2.9.3  <input>其他新增属性 22

2.9.4  <script>的async和defer属性 24

2.10  本章小结 25

第3章  HTML5音频和视频 27

3.1  <audio>标签与音频 27

3.1.1  <audio>标签元素的使用 27

3.1.2  使用JavaScript操作audio对象 28

3.1.3  audio对象的事件 29

3.2  <video>标签与视频 31

3.2.1  <video>标签元素的使用 32

3.2.2  使用JavaScript操作video对象 34

3.2.3  video对象的事件 34

3.2.4  videojs视频播放器的使用 37

3.3  本章小结 40

第4章  HTML5 Canvas基础 41

4.1  一个简单的Canvas 42

4.2  使用Canvas绘制路径 44

4.2.1  使用Canvas绘制直线 44

4.2.2  使用Canvas路径填充 47

4.3  使用Canvas绘制图形 48

4.3.1  使用Canvas绘制矩形 49

4.3.2  使用Canvas绘制圆 49

4.3.3  使用Canvas绘制图形的锯齿问题 52

4.4  使用Canvas绘制文本 53

4.5  使用Canvas绘制和压缩图片 55

4.5.1  使用Canvas绘制图片 55

4.5.2  使用Canvas压缩图片 58

4.6  使用Canvas绘制贝塞尔曲线 59

4.6.1  二次贝塞尔曲线的绘制 60

4.6.2  三次贝塞尔曲线的绘制 61

4.7  Canvas转换 62

4.7.1  平移translate 62

4.7.2  旋转rotate 63

4.7.3  缩放scale 64

4.8  Canvas状态的保存和恢复 65

4.9  Canvas动画 67

4.10  案例:Canvas实现点赞送心动画 68

4.11  本章小结 75

第5章  HTML5 网页存储 76

5.1  初识Web Storage 76

5.1.1  Web Storage的概念 76

5.1.2  同源策略 77

5.1.3  Web Storage的浏览器兼容性 77

5.2  LocalStorage和SessionStorage 78

5.2.1  LocalStorage的增删改查 78

5.2.2  LocalStorage容量的限制 80

5.3  浏览器存储的其他方案 81

5.3.1  IndexedDB 81

5.3.2  Service Worker 82

5.4  本章小结 82

第6章  CSS3选择器 83

6.1  CSS3属性选择器 83

6.2  CSS3伪类选择器 85

6.2.1  伪类和伪元素 85

6.2.2  子元素伪类选择器 86

6.2.3  类型子元素伪类选择器 87

6.2.4  条件伪类选择器 88

6.2.5  元素状态伪类选择器 90

6.3  本章小结 92

第7章  CSS3背景 93

7.1  background-size属性 93

7.2  background-origin属性 97

7.3  background-clip属性 98

7.4  背景渐变 99

7.4.1  线性渐变 100

7.4.2  径向渐变 101

7.5  本章小结 105

第8章  CSS3转换、过渡与动画 106

8.1  CSS3转换(transform) 106

8.1.1  translate(位移) 107

8.1.2  scale(缩放) 108

8.1.3  rotate(旋转) 109

8.1.4  skew(扭曲) 110

8.1.5  matrix(矩阵) 111

8.1.6  transform-origin(转换原点) 113

8.1.7  3D转换 115

8.1.8  浏览器前缀 120

8.2  CSS3过渡(transition) 120

8.2.1  transition-property属性 121

8.2.2  transition-duration属性 122

8.2.3  transition-timing-function属性 123

8.2.4  transition-timing-delay属性 125

8.2.5  过渡效果的特点和局限性 125

8.3  CSS3动画(animation) 125

8.3.1  keyframes(关键帧) 125

8.3.2  animation(动画)属性 127

8.3.3  animation-name属性 128

8.3.4  animation-iteration-count属性 128

8.3.5  animation-direction属性 129

8.3.6  animation-fill-mode属性 129

8.3.7  animation-fill-mode属性 130

8.3.8  will-change属性 130

8.4  案例:CSS3实现旋转3D立方体 131

8.4.1  3D立方体 131

8.4.2  旋转3D立方体 134

8.5  本章小结 137

第9章  移动Web开发和调试 138

9.1  Chrome模拟器调试 138

9.1.1  启用Device Mode功能 138

9.1.2  移动设备视区模式 139

9.1.3  模拟网络状态 141

9.2  spy-debugger调试 142

9.2.1  Node.js和npm 143

9.2.2  安装和使用spy-debugger 145

9.3  本章小结 148

第10章  移动Web屏幕适配 150

10.1  Viewport视区 150

10.1.1  物理像素和CSS像素 151

10.1.2  视区(Viewport) 152

10.1.3  设置视区 153

10.2  响应式布局 155

10.2.1  媒体查询(Media Query) 155

10.2.2  案例:响应式页面 160

10.3  Flex布局 164

10.3.1  Flex布局—新旧版本的兼容性 165

10.3.2  Flex容器属性 166

10.3.3  Flex子元素属性 176

10.4  rem适配 183

10.4.1  动态设置根元素font-size 183

10.4.2  计算rem数值 184

10.5  vw适配 187

10.6  rem适配和vw适配兼容性 189

10.7  本章小结 190

第11章  移动Web单击事件 191

11.1  touch事件 191

11.1.1  touch事件分类 191

11.1.2  touch事件对象 192

11.2  移动Web端单击事件 195

11.2.1  iOS单击延迟 195

11.2.2  “单击穿透”问题 197

11.3  本章小结 198

第12章  Vue.js核心基础 199

12.1  MVVM模式 199

12.1.1  什么是MVC 199

12.1.2  MVVM模式 200

12.2  Vue.js背景知识 200

12.2.1  Vue.js的由来 200

12.2.2  Vue.js和Webpack 201

12.3  Vue.js的安装和导入 202

12.3.1  通过<script>标签导入 202

12.3.2  通过NPM导入 202

12.4  Vue.js实例 203

12.4.1  创建Vue.js实例 203

12.4.2  用Vue.component()方法注册组件 204

12.4.3  Vue组件和实例的区别 205

12.4.4  全局组件和局部组件 206

12.4.5  组件方法和事件的交互操作 207

12.4.6  单文件组件 209

12.5  Vue.js组件的生命周期 210

12.5.1  beforeCreate和created 213

12.5.2  beforeMount和mounted 215

12.5.3  beforeUpdate和updated 216

12.5.4  beforeDestroy和destroyed 219

12.5.5  activated 和deactivated 221

12.6  Vue.js模板语法 221

12.6.1  插值表达式 222

12.6.2  指令 224

12.7  Vue.js方法、计算属性和监听器 233

12.7.1  方法 233

12.7.2  计算属性 234

12.7.3  监听器 239

12.8  Vue.js的动态组件 243

12.9  Vue.js自定义组件v-model 244

12.10  本章小结 246

第13章  Vue.js高级技能 248

13.1  组件通信 248

13.1.1  组件通信概述 248

13.1.2  父组件向子组件通信 251

13.1.3  子组件向父组件通信 256

13.1.4  父子组件的双向数据绑定 258

13.1.5  非父子关系组件的通信 259

13.2  Vue.js 动画 262

13.2.1  Vue.js动画概述 262

13.2.2  从一个简单的动画开始 263

13.2.3  transition组件实现过渡(transition)效果 264

13.2.4  transition组件实现动画(animation)效果 267

13.2.5  transition组件同时使用过渡和动画 268

13.2.6  transition组件的钩子函数 270

13.2.7  多个元素或组件的过渡效果 271

13.2.8  列表数据的过渡效果 273

13.3  Vue.js 插槽 276

13.3.1  默认插槽 276

13.3.2  具名插槽 277

13.3.3  动态插槽名 278

13.3.4  插槽后备 279

13.3.5  作用域插槽 280

13.4  本章小结 282

第14章  Vuex状态管理 283

14.1  什么是“状态管理模式” 283

14.2  Vuex概述 285

14.2.1  Vuex的组成 285

14.2.2  安装Vuex 286

14.2.3  一个简单的Store 286

14.3  State 287

14.4  Getters 288

14.5  Mutation 290

14.6  Action 292

14.7  Modules 294

14.8  Vuex适用的场合 299

14.9  本章小结 300

第15章  Vue Router路由管理 301

15.1  什么是单页应用 301

15.2  Vue Router概述 302

15.2.1  安装Vue Router 302

15.2.2  一个简单的组件路由 302

15.3  动态路由 304

15.3.1  动态路由匹配 304

15.3.2  响应路由变化 306

15.4  导航守卫 307

15.4.1  全局前置守卫 307

15.4.2  全局解析守卫 308

15.4.3  全局后置钩子 308

15.4.4  组件内的守卫 308

15.4.5  路由配置守卫 310

15.5  嵌套路由 312

15.6  命名视图 314

15.7  编程式导航 315

15.8  路由组件传参 318

15.9  路由重定向、别名及元信息 319

15.10  Vue Router的路由模式 321

15.11  滚动行为 322

15.12  keep-alive 323

15.12.1  keep-alive缓存状态 323

15.12.2  keep-alive实现原理浅析 327

15.13  路由懒加载 329

15.14  本章小结 330

第16章  PWA技术全揭秘 331

16.1  PWA技术介绍 331

16.1.1  PWA应用的特点 332

16.1.2  PWA技术结构 332

16.1.3  PWA技术兼容性 333

16.2  Service Worker 334

16.2.1  Service Worker功能和特性 335

16.2.2  Promise介绍 335

16.2.3  注册Service Worker 337

16.2.4  检测Service Worker是否注册成功 338

16.2.5  安装Service Worker 339

16.2.6  激活Service Worker 340

16.2.7  Service Worker更新 340

16.2.8  Service Worker生命周期 341

16.2.9  Service Worker拦截请求 342

16.2.10  Service Worker缓存Cache API 344

16.2.11  Service Worker离线推送Push API 345

16.3  Notifications 348

16.3.1  获取授权 348

16.3.2  显示通知 348

16.4  Web App Manifest 350

16.4.1  导入manifest.json 350

16.4.2  manifest.json各项设置 352

16.5  本章小结 353

第17章  ECMAScript 6 语言基础 354

17.1  变量声明 354

17.1.1  let,var,const 354

17.1.2  箭头函数 355

17.1.3  对象属性和方法的简写 356

17.2  模块化 357

17.2.1  ES6模块化概述 357

17.2.2  import和export 358

17.3  async/await 359

17.4  本章小结 361

第18章  响应式单页面管理系统的开发 362

18.1  创建index.html 362

18.2  创建根实例和页面组件 363

18.3  页面切换 365

18.4  待办事项页面的开发 367

18.4.1  创建事项 368

18.4.2  单条事项组件 370

18.4.3  数据持久化 373

18.5  回收站页面的开发 375

18.5.1  已删除事项列表 376

18.5.2  单条已删除事项组件 378

18.6  删除事项和恢复事项联动 379

18.7  美化页面背景和添加清空按钮 381

第19章  实战项目:新浪微博Web App 383

19.1  准备开发环境 383

19.1.1  安装代码编辑器Sublime Text 3 383

19.1.2  安装Node.js 384

19.2  安装vue cli 3初始化前端项目 385

19.2.1  安装vue cli 3 385

19.2.2  初始化项目 386

19.2.3  启动项目 388

19.3  使用MUI 390

19.3.1  导入MUI 390

19.3.2  postcss-px-to-viewport插件的安装和配置 391

19.4  登录页面的开发 392

19.5  微博首页的开发 397

19.5.1  tabbar组件的开发 397

19.5.2  headerbar组件的开发 398

19.5.3  4个页签(tab)页面的开发 399

19.6  新鲜事页面的开发 401

19.6.1  滚动加载组件的开发 401

19.6.2  单条微博组件的开发 405

19.6.3  “发表”按钮的开发 414

19.6.4  新鲜事微博列表的开发 414

19.7  发表页面的开发 415

19.8  消息页面的开发 418

19.9  我的页面的开发 419

19.10  微博详情页面的开发 421

19.10.1  配置二级路由 422

19.10.2  详情页上半部分的开发 422

19.10.3  转发和点赞列表的开发 425

19.10.4  评论列表的开发 426

19.11  更多回复页面的开发 429

19.12  评论页面的开发 432

19.13  页面转场动画 434

19.13.1  监听路由变化 435

19.13.2  使用transition动画组件 435

19.13.3  添加转场动画CSS样式 436

19.13.4  页面缓存和相同页面组件的复用 437

19.14  改造PWA应用 438

19.14.1  配置sw.js文件 438

19.14.2  设置manifest.json文件 440

19.15  打包和部署 441

作者简介

编辑推荐

本书综合运用HTML5、CSS3、Vue.js全家桶等流行前端技术介绍了如何开发一款企业级移动Web应用的方法与技巧,内容包括:HTML5语义标签和属性,HTML5音视频,HTML5 Canvas,HTML5网页存储,CSS3选择器,CSS3背景,CSS3转换、过渡和动画,移动Web开发和调试,响应式页面和Flex布局,移动Web的touch事件,Vue.js的组件、指令、模板语法,Vue.js的组件通信、动画和插槽,Vuex与Vue.js结合实现项目状态管理,Vue Router与Vue.js结合实现项目路由管理,PWA渐进式技术和ECMAScript 6新特性等内容,并借助待办事项管理

系统和新浪微博We App项目开发提高读者的实践技能。

本书适合正在学习移动Web开发或前端开发的人员使用,对于有一年左右从业经验想要了解企业级移动Web项目开发的前端工程师也能从本书中获得收益。

作者寄语

吕鸣(网名,吕小鸣),从业7年,先后供职于深圳腾讯内容平台部、宇通客车智能网联研究院,担任Web前端高级工程师和前端架构师,对Web开发、iOS开发、PHP开发及前端相关领域都有涉猎,目前专注于移动Web开发,对相关实际项目调优拥有丰富的经验。

电子资料

www.luweidong.cn

下一个