店铺推荐
【作者】
史文强,前端资深技术专家,现任字节跳动幸福里团队前端工程师、西安交通大学航天学院特聘软件工程师,华为云云享专家,曾受Google GDG(Google开发者社区)邀请进行技术分享。拥有丰富的实战经验,擅长大型前端系统架构设计、性能优化及工程化体系建设。 活跃于各大前端技术社区,撰写了《Node.js原理&源码赏析》《带着Canvas去流浪》《响应式编程的思维艺术》等多个连载专题,累计发表前端技术原创博文百余篇,曾获2018年华为云社区杰出贡献奖(暨年度十大技术博主)。
【内容】
本书是字节跳动资深前端工程师呕心沥血之作,也是目前市场上少有的从原理到实战深度剖析JavaScript生态中经典工具库的技术图书。全书共有6篇,分别是基础篇、图形学篇、多媒体篇、跨端开发篇、游戏开发篇和跨界实践篇,书中不仅详细介绍了JavaScript语言在浏览器页面之外的不同应用场景,更从实用技巧、设计理念、原理源码等角度对精心挑选的30多个工具库进行了全方位的解析,希望读者在领略JavaScript代码之美的同时,也能拓宽技术视野。为了帮助读者更好地理解书中所讲述的内容,随书代码仓库里提供了大量可运行的源码,包括精简版的库重写和完整的代码示例。
【目录】
前言
基础篇
第1章 Mock.js:如何与后端潇洒分手
1.1 为什么你总是下不了班
1.2 联调加速
1.3 使用Mock.js
1.3.1 Mock.js的语法规范
1.3.2 Mock.js实战
1.3.3 自定义扩展
1.4 Mock.js的基本原理
1.4.1 从模板到数据
1.4.2 为Ajax请求提供Mock数据
1.5 从Mock服务到API管理平台
第2章 Node.js:连接
2.1 大话Node.js
2.1.1 Node.js是什么
2.1.2 Node.js能做什么
2.1.3 招黑的JavaScript全栈工程师
2.2 业界用Node.js做什么
2.2.1 前端工程化
2.2.2 中间层
2.2.3 SSR引擎
2.2.4 协作连接
2.3 小结
第3章 ESLint:你的代码里藏着你的优雅
3.1 代码风格与破窗理论
3.2 用editorconfig配置IDE
3.2.1 基本语法及属性
3.2.2 配置实例
3.3 使用ESLint规范编程风格
3.3.1 配置文件和规则集
3.3.2 ESLint插件开发实战
3.3.3 初学者的修行
3.4 新秀工具Prettier
3.5 静态类型检查工具的实现原理
3.5.1 编译语言和解释语言
3.5.2 编译流程
3.5.3 编译简单的JavaScript程序
第4章 模块演义与Require.js
4.1 模块化的需求推演
4.1.1 标签
4.1.2 代码隔离
4.1.3 依赖管理
4.2 模块规范大杂烩
4.2.1 概述
4.2.2 几个重要的差异
4.3 模块化规范的兼容与工具演进
4.4 Require.js的使用方法
4.5 Require.js的核心原理
第5章 Lodash.js是工具,更是秘籍
5.1 Lodash.js是什么
5.1.1 概述
5.1.2 代码的较量
5.2 重点API的剖析
5.3 Lodash.js的源码结构
5.3.1 基本结构
5.3.2 Lodash.js源码的学习方法
第6章 静态类型检查:Flow.js和TypeScript
6.1 静态类型检查
6.1.1 静态类型检查的优势
6.1.2 静态类型检查的劣势
6.2 Flow.js,易上手的静态类型检查工具
6.2.1 Flow.js中的类型标注
6.2.2 Flow.js的优势
6.3 TypeScript,另一种选择
第7章 用函数描述世界:Ramda.js
7.1 本能的思考方式
7.2 开始编码
7.2.1 传统编程的实现
7.2.2 函数式编程的推演
7.2.3 函数式编程的意义
7.2.4 函数式编程的基本理论
7.3 基于Ramda.js体验函数式编程
7.3.1 使用Ramda.js
7.3.2 函数化的流程控制
7.4 选择
第8章 Rxjs:前端世界的“老人与海”
8.1 信息管道
8.1.1 不同的“单一职责”
8.1.2 分布式状态的可能性
8.1.3 你的程序在做什么
8.2 数据的生产
8.2.1 数据源的抽象
8.2.2 设计模式的应用
8.3 Rxjs:一切皆是流的世界
8.3.1 Rxjs的核心概念
8.3.2 Rxjs应用实例
8.3.3 新版“老人与海”
8.4 以自己喜欢的方式去编程
第9章 不可变数据的制造艺术:Immer.js和Immutable.js
9.1 克隆
9.1.1 浅克隆
9.1.2 深克隆
9.2 元编程与Immer.js
9.2.1 元编程
9.2.2 Immer.js的核心原理
9.3 Immutable.js与共享结构
9.3.1 Immutable.js简介
9.3.2 Immutable.js的核心原理
9.3.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 能玩一生的标签
12.1.1 基本语法介绍
12.1.2 动画模式
12.2 用easel.js操作Canvas
12.3 工具库的封装技巧
第13章 Echarts.js:看见
13.1 数据可视化生态
13.2 开始使用Echarts.js
13.2.1 Echarts的正确打开方式
13.2.2 重点API
13.2.3 配置项
13.3 数据可视化三步曲
13.3.1 数据准备
13.3.2 图表选型
13.3.3 细节打磨
13.4 下一步的选择
第14章 SVG变形记
14.1 矢量图的世界
14.1.1 SVG图形
14.1.2 SVG的高级功能
14.2 SVG变形
14.2.1 SVG动画与CSS3动画
14.2.2 经典SVG动画
14.3 Snap.svg快速入门
14.3.1 Snap方法集
14.3.2 Snap.svg实战
14.4 取舍
第15章 Three.js:构建立体的用户界面
15.1 三维世界的脚手架Three.js
15.1.1 核心概念
15.1.2 分解网格模型
15.1.3 Three.js的基本使用方法
……
返回顶部