机械工业出版社旗舰店店铺主页二维码
机械工业出版社旗舰店 微信认证
微信扫描二维码,访问我们的微信店铺
你可以使用微信联系我们,随时随地的购物、客服咨询、查询订单和物流...

前端跨界开发指南:JavaScript工具库原理解析与实战

87.70
运费: ¥ 0.00-30.00
前端跨界开发指南:JavaScript工具库原理解析与实战 商品图0
前端跨界开发指南:JavaScript工具库原理解析与实战 商品图1
前端跨界开发指南:JavaScript工具库原理解析与实战 商品图2
前端跨界开发指南:JavaScript工具库原理解析与实战 商品图3
前端跨界开发指南:JavaScript工具库原理解析与实战 商品图4
前端跨界开发指南:JavaScript工具库原理解析与实战 商品图5
前端跨界开发指南:JavaScript工具库原理解析与实战 商品缩略图0 前端跨界开发指南:JavaScript工具库原理解析与实战 商品缩略图1 前端跨界开发指南:JavaScript工具库原理解析与实战 商品缩略图2 前端跨界开发指南:JavaScript工具库原理解析与实战 商品缩略图3 前端跨界开发指南:JavaScript工具库原理解析与实战 商品缩略图4 前端跨界开发指南:JavaScript工具库原理解析与实战 商品缩略图5

商品详情

书名:前端跨界开发指南:JavaScript工具库原理解析与实战  
定价:129.0  
ISBN:9787111708049  
作者:史文强  
版次:1  

内容提要:  

本书是字节跳动资深前端工程师呕心沥血之作,也是目前市场上少有的从原理到实战深度剖析JavaScript生态中经典工具库的技术图书。全书共有6篇,分别是基础篇、图形学篇、多媒体篇、跨端开发篇、游戏开发篇和跨界实践篇,书中不仅详细介绍了JavaScript语言在浏览器页面之外的不同应用场景,更从实用技巧、设计理念、原理源码等角度对精心挑选的30多个工具库进行了全方位的解析,希望读者在领略JavaScript代码之美的同时,也能拓宽技术视野。为了帮助读者更好地理解书中所讲述的内容,随书代码仓库里提供了大量可运行的源码,包括精简版的库重写和完整的代码示例。





目录:  

前言

基础篇

第1章 Mock.js:如何与后端潇洒分手2

1.1 为什么你总是下不了班3

1.2 联调加速4

1.3 使用Mock.js4

1.3.1 Mock.js的语法规范5

1.3.2 Mock.js实战6

1.3.3 自定义扩展8

1.4 Mock.js的基本原理9

1.4.1 从模板到数据9

1.4.2 为Ajax请求提供Mock数据11

1.5 从Mock服务到API管理平台14

第2章 Node.js:连接16

2.1 大话Node.js16

2.1.1 Node.js是什么16

2.1.2 Node.js能做什么17

2.1.3 招黑的JavaScript全栈工程师19

2.2 业界用Node.js做什么19

2.2.1 前端工程化20

2.2.2 中间层20

2.2.3 SSR引擎21

2.2.4 协作连接22

2.3 小结22

第3章 ESLint:你的代码里藏着你的优雅24

3.1 代码风格与破窗理论25

3.2 用editorconfig配置IDE28

3.2.1 基本语法及属性29

3.2.2 配置实例29

3.3 使用ESLint规范编程风格30

3.3.1 配置文件和规则集30

3.3.2 ESLint插件开发实战32

3.3.3 初学者的修行32

3.4 新秀工具Prettier33

3.5  静态类型检查工具的实现原理34

3.5.1 编译语言和解释语言34

3.5.2 编译流程34

3.5.3 编译简单的JavaScript程序35

第4章 模块演义与Require.js39

4.1  模块化的需求推演40

4.1.1 script标签40

4.1.2 代码隔离41

4.1.3 依赖管理42

4.2  模块规范大杂烩43

4.2.1 概述43

4.2.2 几个重要的差异44

4.3 模块化规范的兼容与工具演进48

4.4 Require.js的使用方法50

4.5 Require.js的核心原理52

第5章 Lodash.js是工具,更是秘籍55

5.1 Lodash.js是什么55

5.1.1 概述56

5.1.2 代码的较量56

5.2 重点API的剖析59

5.3 Lodash.js的源码结构62

5.3.1 基本结构62

5.3.2 Lodash.js源码的学习方法63

第6章 静态类型检查:Flow.js和TypeScript64

6.1 静态类型检查65

6.1.1 静态类型检查的优势65

6.1.2 静态类型检查的劣势66

6.2 Flow.js,易上手的静态类型检查工具67

6.2.1 Flow.js中的类型标注67

6.2.2 Flow.js的优势68

6.3 TypeScript,另一种选择69

第7章 用函数描述世界:Ramda.js71

7.1 本能的思考方式71

7.2 开始编码72

7.2.1 传统编程的实现72

7.2.2 函数式编程的推演73

7.2.3 函数式编程的意义76

7.2.4 函数式编程的基本理论77

7.3 基于Ramda.js体验函数式编程79

7.3.1 使用Ramda.js80

7.3.2 函数化的流程控制81

7.4 选择82

第8章 Rxjs:前端世界的“老人与海”83

8.1 信息管道84

8.1.1 不同的“单一职责”84

8.1.2 分布式状态的可能性86

8.1.3 你的程序在做什么87

8.2 数据的生产88

8.2.1 数据源的抽象88

8.2.2 设计模式的应用90

8.3 Rxjs:一切皆是流的世界91

8.3.1 Rxjs的核心概念92

8.3.2 Rxjs应用实例94

8.3.3 新版“老人与海”100

8.4 以自己喜欢的方式去编程101

第9章 不可变数据的制造艺术:Immer.js和Immutable.js102

9.1 克隆103

9.1.1 浅克隆103

9.1.2 深克隆103

9.2 元编程与Immer.js104

9.2.1 元编程105

9.2.2 Immer.js的核心原理106

9.3 Immutable.js与共享结构112

9.3.1 Immutable.js简介113

9.3.2 Immutable.js的核心原理113

9.3.3 Immutable.js中的读写操作117

9.4 小结119

第10章 Day.js:算个日期能有多难121

10.1 日期和时间121

10.2 使用Day.js125

10.3 国际化应用开发中的时间处理127

图形学篇

第11章 所见即所得的流程图:jsplumb.js和viz.js130

11.1 方案构思130

11.2 开始使用jsplumb.js132

11.3 图布局引擎viz.js135

11.4 所见即所得137

第12章 easel.js:一个标签一个世界139

12.1 能玩一生的标签<canvas>139

12.1.1 基本语法介绍139

12.1.2 动画模式141

12.2 用easel.js操作Canvas142

12.3 工具库的封装技巧144

第13章 Echarts.js: 看见147

13.1 数据可视化生态148

13.2 开始使用Echarts.js148

13.2.1 Echarts的正确打开方式149

13.2.2 重点API151

13.2.3 配置项152

13.3 数据可视化三步曲153

13.3.1 数据准备153

13.3.2 图表选型153

13.3.3 细节打磨155

13.4 下一步的选择158

第14章 SVG变形记159

14.1 矢量图的世界159

14.1.1 SVG图形159

14.1.2 SVG的高级功能160

14.2 SVG变形165

14.2.1 SVG动画与CSS3动画165

14.2.2 经典SVG动画166

14.3 Snap.svg快速入门168

14.3.1 Snap方法集168

14.3.2 Snap.svg实战169

14.4 取舍171

第15章 Three.js:构建立体的用户界面172

15.1 三维世界的脚手架Three.js173

15.1.1 核心概念173

15.1.2 分解网格模型175

15.1.3 Three.js的基本使用方法177

15.2 实战:用Three.js制作漫威电影片头动画179

15.2.1 特效一:平面渐离180

15.2.2 特效二:字体浮雕模型181

15.2.3 特效三:视频纹理贴图183

15.2.4 特效四:镜头转换185

15.3 Three.js如何参与渲染186

15.3.1 相机模式和降维打击186

15.3.2 着色器190

15.3.3 WebGL的渲染流程192

15.4 用Cinema4D玩转跨界193

多媒体篇

第16章 Impress.js:网页里的PPT200

16.1 Impress.js的应用及原理200

16.1.1 快速上手Impress.js200

16.1.2 Impress.js的实现原理202

16.2 详解CSS变形和动画203

16.2.1 帧和关键帧204

16.2.2 CSS补间动画206

16.3 软技能:PPT设计208

16.3.1 内容为王208

16.3.2 设计入门课209

第17章 Velocity.js与高性能动画之谜211

17.1 CSS动画和JavaScript动画211

17.1.1 CSS动画212

17.1.2 JavaScript动画214

17.2 Velocity.js入门指南216

17.2.1 stagger交错动画217

17.2.2 在SPA框架中编写动画219

17.3 高性能动画的秘密223

17.3.1 像素渲染管线224

17.3.2 回流、重绘与合成226

17.3.3 使用合成层获得高性能227

17.3.4 隐式提升陷阱229

17.4 小结231

第18章 扭曲时间:tween.js和jQuery Easing Plugin232

18.1 缓动函数233

18.2 贝赛尔曲线234

18.2.1 绘制原理234

18.2.2 贝赛尔曲线的特性236

18.3 使用Tween.js和jQuery Easing Plugin237

18.4 选择恰当的缓动函数239

第19章 用Recorder.js实现语音信号处理241

19.1 百度语音识别实战241

19.1.1 工业系统测量的预备知识242

19.1.2 改造Recorder.js243

19.2 Web Audio API的工作模式246

19.2.1 中间件式的音频处理图246

19.2.2 Recorder.js核心原理:Script-ProcessorNode247

19.2.3 浅谈ArrayBuffer250

第20章 jsmpeg.js流媒体播放器253

20.1 视频编解码技术入门254

20.1.1 基础知识254

20.1.2 初识传输流255

20.2 现代浏览器中的播放技术258

20.2.1 Media Source Extension259

20.2.2 其他格式的媒体资源261

20.3 切片技术与TS文件解析262

20.3.1 文件切片技术 262

20.3.2 解析TS切片263

20.4 jsmpeg.js源码结构和低延迟播放实例266

跨端开发篇

第21章 “懒”是第一生产力:制作命令行工具272

21.1 Commander.js与Git风格的命令行工具273

21.2 Inquirer.js与交互式命令行工具275

21.3 从工具化到工程化277

第22章 用Shelljs实现自动化部署279

22.1 Linux入门小课279

22.2 实用的跨平台工具281

22.3 实战:使用Shelljs和node-ssh完成自动化部署283

22.4 下一站:性能监控288

第23章 跨端技术的秘密289

23.1 Cordova的前世今生290

23.2 React Native291

23.3 小程序292

23.4 原生App与网页的通信294

23.5 小结296

第24章 protobuf与二进制消息298

24.1 前端常见的消息格式298

24.2 二进制消息格式:protobuf302

24.3 使用protobuf.js307

24.4 初探gRPC310

第25章 控制反转与Inversify.js314

25.1 依赖为什么需要注入315

25.2 IOC容器的实现317

25.3 AOP和装饰器322

25.4 用Inversify.js实现依赖注入325

25.5 小结330

游戏开发篇

第26章 基于CreateJS解构游戏开发332

26.1 工具包CreateJS333

26.2 实战开发:《飞龙大战》334

26.3 性能提升技巧341

第27章 经典物理与matter.js345

27.1 经典力学回顾346

27.2 仿真的实现原理347

27.2.1 基本动力学模拟347

27.2.2 碰撞模拟349

27.3 物理引擎matter.js350

27.3.1 《愤怒的小鸟》的物理特性分析350

27.3.2 使用matter.js构建物理模型351

27.3.3 物理引擎如何牵手游戏引擎354

第28章 Phaser:从工具到生态357

28.1 快速上手Phaser游戏开发357

28.2 浅谈框架的选择364

跨界实践篇

第29章 brain.js:写给前端的神经网络入门课366

29.1 从关键词开始366

29.2 认识神经网络369

29.2.1 基本结构369

29.2.2 神经元的数学模型372

29.2.3 激活函数与非线性决策边界374

29.2.4 神经网络中的信息传递377

29.3 使用brain.js构建神经网络379

29.4 小结382

第30章 TensorFlow.js:开箱即用的深度学习工具383

30.1 上手TensorFlow.js383

30.2 使用TensorFlow.js构建卷积神经网络387

30.2.1 卷积神经网络387

30.2.2 搭建LeNet-5模型390

30.3 基于迁移学习的语音指令识别392

第31章 用JavaScript玩转物联网394

31.1 入门级物联网“玩具”Arduino394

31.1.1 Arduino UNO R3板卡结构395

31.1.2 模拟量和数字量396

31.1.3 Arduino原生编程入门397

31.1.4 Arduino实验示例一:按钮控制三色LED灯398

31.1.5 Arduino实验示例二:使用DHT11模块采集温湿度信息402

31.2 PC与MCU之间的串口通信403

31.3 使用Johnny-Five进行嵌入式开发407

31.3.1 初识Johnny-Five407

31.3.2 Firmata.js源码导读408

31.3.3 舵机风扇实验410

31.4 小结412



机械工业出版社旗舰店店铺主页二维码
机械工业出版社旗舰店 微信公众号认证
扫描二维码,访问我们的微信店铺
随时随地的购物、客服咨询、查询订单和物流...

前端跨界开发指南:JavaScript工具库原理解析与实战

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

打开微信,扫一扫

或搜索微信号:cmp1952
机工书院官方微信公众号

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏