前端函数式演进
图书信息
| 作者 | 邵丁丁 |
| 出版社 | 机械工业出版社 |
| ISBN | 暂无 |
| 出版时间 | 2021-01-01 |
| 字数 | 13.4万 |
| 分类 | 科技,计算机,网络,程序设计 |
读书简介
本书从逻辑上分为三部分。 *部分(第1~3章)是全书的理论基础。 第1章介绍编程语言中的编程范式以及各种范式在前端的体现。第2章介绍函数式的常见概念。这两章的内容对于基础较好的读者来说可能是老生常谈,但是我加入了一些前端示例和个人理解,也算是老坛装新酒。第3章介绍函数式思维的相关内容,帮助读者在使用函数式框架工具时从传统命令式编程的思考方式,向更契合函数式前端开发的思考方式转变,比如对循环的实现、数据结构的差别、对异常态和类型的处理等。
目录
前言
第1章 编程范式和前端体现
1.1 编程范式
1.2 命令式编程
1.3 面向对象
1.4 元编程
1.5 声明式编程
1.6 逻辑式编程
1.7 函数式编程
1.8 案例和代码
1.8.1 案例总览
1.8.2 命令式编程示例
1.8.3 声明式编程示例
1.8.4 面向对象、元编程和函数式编程示例
1.9 本章小结
第2章 前端函数式基础概念
2.1 JavaScript多范式中的函数式
2.1.1 闭包
2.1.2 高阶函数
2.1.3 Lambda表达式
2.1.4 Array数组集合和函数组合子
2.2 持续补全
2.2.1 基于JavaScript高阶函数的编码优化
2.2.2 基于工具和标准的再加工
2.3 函数式的抽象单元
2.3.1 副作用
2.3.2 引用透明和纯函数
2.4 案例和代码
2.4.1 闭包和单例
2.4.2 数组方法和链式调用
2.4.3 惰性加载
2.5 本章小结
第3章 函数式思维和前端特征
3.1 状态和副作用
3.2 过程和高阶抽象
3.2.1 便捷地对过程反复包装
3.2.2 另一种编程世界观:流过系统的信息流
3.3 运行环境承担更多的职责
3.3.1 循环、映射和递归
3.3.2 函数式过程抽象忽略的细节操作
3.4 类型和数据结构
3.4.1 面向能力的数据结构
3.4.2 对场景下类型的作用进行替换
3.5 设计模式和语言特征
3.6 异常态
3.7 前端的其他特征
3.7.1 弱类型和动态类型
3.7.2 Array的组合运算
3.8 案例和代码
3.8.1 状态和副作用示例
3.8.2 过程和高阶抽象示例
3.8.3 循环和递归示例
3.8.4 类型检测和动态类型
3.8.5 异常态和容错处理
3.9 本章小结
第4章 Monadic编程和它的范畴理论
4.1 Monadic编程简介
4.2 函子和它的基础实例
4.3 应用函子
4.4 Maybe实现类
4.5 Either函子
4.6 幺半群
4.7 单子:自函子范畴上的幺半群
4.8 函数响应式编程
4.9 案例和代码
4.9.1 函子示例
4.9.2 响应式编程的简单示例
4.10 本章小结
第5章 函数式工具形态演进
5.1 jQuery和链式调用
5.2 管道和组合
5.3 Promise编码
5.4 Async/Await函数
5.5 MobX、RxJS和响应式编程
5.6 函数式的并发保障
5.7 案例和代码
5.7.1 链式调用和开发中调试
5.7.2 Pipeline和切面编程
5.7.3 Async/Await异步和异常
5.8 本章小结
第6章 从RxJS看事件流和函数响应式编程
6.1 RxJS的产生和事件流编程演进
6.1.1 RxJS的产生
6.1.2 事件流响应演变
6.2 核心类
6.3 “红包雨掉落”代码改造
6.4 事件流相关主要方法举例
6.5 案例和代码
6.6 本章小结
第7章 React Hooks和它的函数式考量
7.1 无状态组件和状态管理
7.1.1 现代前端框架和无状态组件
7.1.2 状态管理
7.2 React Hooks的原理和目的
7.3 React Hooks的实践和方向
7.4 案例和代码
7.5 本章小结
第8章 函数式和前端复杂度总结
8.1 前端开发的复杂度
8.1.1 前端开发者可以介入的时机
8.1.2 纯粹的运算复杂度
8.1.3 前端和相邻领域复杂度的区别
8.2 函数式在前端的积极作用
8.2.1 厘清运行时的状态变化
8.2.2 加强编程的工程指标
8.2.3 简化编码
8.3 编码之上的工作
8.3.1 软件完整度和现实的工作状态
8.3.2 前端迭代的呼应
8.3.3 编码外的更多规划
8.4 他山之石
8.4.1 前端即是客户端
8.4.2 更充分地利用前端能力
8.4.3 工程研发
8.5 案例和代码
8.5.1 前端开发复杂度
8.5.2 运行时监控和整体工程特性
8.6 本章小结
第9章 简易关卡引擎项目补充
9.1 需求清单
9.2 项目和文件结构
9.3 开发者和用户交互
9.4 整体服务和引擎生命周期
9.5 代码清单
9.5.1 主页需求实现
9.5.2 关卡页需求实现
9.5.3 统计分数等数据服务逻辑
9.5.4 体力模式等前端业务逻辑
9.5.5 自定义关卡详情页
9.5.6 广告页和活动页
9.6 更多扩展
9.7 本章小结
- 不要在草台班子里拼命努力(HCJ)
- 姚明(1)(读书堂)
- 大白鲸童话森林·樟树公寓的十二家房客(梅瑜)
- 做人要大气(郑斌)
- 简单易学的基金投资(杨天南,孙振曦,贾泽亮 等)
- Dead Cat Bounce(Green, Norman)
- Orlando Furioso: Bilingual Edition (English – Italian)(Ludovico Ariosto)
- Wasps - Evil events from evil causes spring(Aristophanes .)
