《前端跨界开发指南》简介:

本书是字节跳动资深前端工程师史文强的呕心沥血之作,也是目前市场上少有的从原理到实战深度剖析JavaScript生态中经典工具库的技术图书。

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

《前端跨界开发指南》目录:

前言
【基础篇】
第1章 Mock.js:如何与后端潇洒分手
1.1 为什么你总是下不了班
1.2 联调加速
1.3 使用Mock.js
1.4 Mock.js的基本原理
1.5 从Mock服务到API管理平台
第2章 Node.js:连接
2.1 大话Node.js
2.2 业界用Node.js做什么
2.3 小结
第3章 ESLint:你的代码里藏着你的优雅
3.1 代码风格与破窗理论
3.2 用editorconfig配置IDE
3.3 使用ESLint规范编程风格
3.4 新秀工具Prettier
3.5 静态类型检查工具的实现原理
第4章 模块演义与Require.js
4.1 模块化的需求推演
4.2 模块规范大杂烩
4.3 模块化规范的兼容与工具演进
4.4 Require.js的使用方法
4.5 Require.js的核心原理
第5章 Lodash.js是工具,更是秘籍
5.1 Lodash.js是什么
5.2 重点API的剖析
5.3 Lodash.js的源码结构
第6章 静态类型检查:Flow.js和TypeScript
6.1 静态类型检查
6.2 Flow.js,易上手的静态类型检查工具
6.3 TypeScript,另一种选择
第7章 用函数描述世界:Ramda.js
7.1 本能的思考方式
7.2 开始编码
7.3 基于Ramda.js体验函数式编程
7.4 选择
第8章 Rxjs:前端世界的“老人与海”
8.1 信息管道
8.2 数据的生产
8.3 Rxjs:一切皆是流的世界
8.4 以自己喜欢的方式去编程
第9章 不可变数据的制造艺术:Immer.js和Immutable.js
9.1 克隆
9.2 元编程与Immer.js
9.3 Immutable.js与共享结构
9.4 小结
第10章 Day.js:算个日期能有多难
10.1 日期和时间
10.2 使用Day.js
10.3 国际化应用开发中的时间处理
【图形学篇】
第11章 所见即所得的流程图:jsplumb.js和viz.js
11.1 方案构思
11.2 开始使用jsplumb.js
11.3 图布局引擎viz.js
11.4 所见即所得
第12章 easel.js:一个标签一个世界
12.1 能玩一生的标签<canvas>
12.2 用easel.js操作Canvas
12.3 工具库的封装技巧
第13章 Echarts.js:看见
13.1 数据可视化生态
13.2 开始使用Echarts.js
13.3 数据可视化三步曲
13.4 下一步的选择
第14章 SVG变形记
14.1 矢量图的世界
14.2 SVG变形
14.3 Snap.svg快速入门
14.4 取舍
第15章 Three.js:构建立体的用户界面
15.1 三维世界的脚手架Three.js
15.2 实战:用Three.js制作漫威电影片头动画
15.3 Three.js如何参与渲染
15.4 用Cinema4D玩转跨界
【多媒体篇】
第16章 Impress.js:网页里的PPT
16.1 Impress.js的应用及原理
16.2 详解CSS变形和动画
16.3 软技能:PPT设计
第17章 Velocity.js与高性能动画之谜
17.1 CSS动画和JavaScript动画
17.2 Velocity.js入门指南
17.3 高性能动画的秘密
17.4 小结
第18章 扭曲时间:tween.js和jQuery Easing Plugin
18.1 缓动函数
18.2 贝赛尔曲线
18.3 使用Tween.js和jQuery Easing Plugin
18.4 选择恰当的缓动函数
第19章 用Recorder.js实现语音信号处理
19.1 百度语音识别实战
19.2 Web Audio API的工作模式
第20章 jsmpeg.js流媒体播放器
20.1 视频编解码技术入门
20.2 现代浏览器中的播放技术
20.3 切片技术与TS文件解析
20.4 jsmpeg.js源码结构和低延迟播放实例
【跨端开发篇】
第21章 “懒”是第一生产力:制作命令行工具
21.1 Commander.js与Git风格的命令行工具
21.2 Inquirer.js与交互式命令行工具
21.3 从工具化到工程化
第22章 用Shelljs实现自动化部署
22.1 Linux入门小课
22.2 实用的跨平台工具
22.3 实战:使用Shelljs和node-ssh完成自动化部署
22.4 下一站:性能监控
第23章 跨端技术的秘密
23.1 Cordova的前世今生
23.2 React Native
23.3 小程序
23.4 原生App与网页的通信
23.5 小结
第24章 protobuf与二进制消息
24.1 前端常见的消息格式
24.2 二进制消息格式:protobuf
24.3 使用protobuf.js
24.4 初探gRPC
第25章 控制反转与Inversify.js
25.1 依赖为什么需要注入
25.2 IOC容器的实现
25.3 AOP和装饰器
25.4 用Inversify.js实现依赖注入
25.5 小结
游戏开发篇
第26章 基于CreateJS解构游戏开发
26.1 工具包CreateJS
26.2 实战开发:《飞龙大战》
26.3 性能提升技巧
第27章 经典物理与matter.js
27.1 经典力学回顾
27.2 仿真的实现原理
27.3 物理引擎matter.js
第28章 Phaser:从工具到生态
28.1 快速上手Phaser游戏开发
28.2 浅谈框架的选择
【跨界实践篇】
第29章 brain.js:写给前端的神经网络入门课
29.1 从关键词开始
29.2 认识神经网络
29.3 使用brain.js构建神经网络
29.4 小结
第30章 TensorFlow.js:开箱即用的深度学习工具
30.1 上手TensorFlow.js
30.2 使用TensorFlow.js构建卷积神经网络
30.3 基于迁移学习的语音指令识别
第31章 用JavaScript玩转物联网
31.1 入门级物联网“玩具”Arduino
31.2 PC与MCU之间的串口通信
31.3 使用Johnny-Five进行嵌入式开发
31.4 小结
· · · · · ·