
前端函数式演进
加载中,请稍候……
作品简介
文章的内容先是介绍函数式所属的技能树位置:编程范式,也介绍了各种范式在前端的体现。随后会过一批函数式的常见概念,给对函数式思想了解较少的同学一些基础内容。这两章节我理解对于基础较好的同学可能是老生常谈,但因为加入了一些前端示例和我的理解,也应该能算是老坛新酒。
了解完编程范式和基础概念后,我会直接进入“函数式思维”的内容。这章内容主要是帮助大家在依赖函数式框架工具设计时,从传统命令式编程的思考方式,向更契合函数式前端开发的方式改变。比如对循环的实现、数据结构的差别、对异常态和类型的处理等。
第四到七章,分别是前端函数式的几种重要的形态。第四章是Monadic编程,它是函数式的一种经典工程实现,也在前端衍生了一些工具。我将在这章把前端函数式的几个基础理论单元如函子、幺半群的介绍,用它们实现复杂工具Promise的推导,以及少量有必要介绍给大家的范畴论知识都详尽叙述。
第五章则是“从jQuery而来,看函数式工具形态演进”。很多其他领域工程师对前端的理解都停留在了jQuery的经典时代。我会从函数式的“形”的角度出发,带来jQuery开始的前端函数式工具论述。第六章和第七章我将介绍前端函数式发展到一定成熟度后,这两年的两个热门框架工具:RxJS和React Hook。介绍他们的基本原理和他们基于什么样的需求和过程演进出来的。
所以文章基本是两大部分,前三章的偏理论内容,和后四章的偏热门工具内容。也都是大家希望付出一定时间了解的热点内容。
最后一章,我想在总结的同时,回归初心,和大家探讨一些当前前端开发的核心复杂度,以及函数式在当前前端开发中的贡献。然后我们还要厘定方向,像多借鉴函数式思想一样,多借“他山之石”,帮助大家在前端和其他研发领域成为更出色的研发工程师。
本书作者邵丁丁。
作品目录
前言
第1章 编程范式和前端体现
1.1 编程范式
1.2 命令式编程
1.3 面向对象
1.4 元编程
1.5 声明式编程
1.6 逻辑式编程
1.7 函数式编程
1.8 案例和代码
1.9 本章小结
第2章 前端函数式基础概念
2.1 JavaScript多范式中的函数式
2.2 持续补全
2.3 函数式的抽象单元
2.4 案例和代码
2.5 本章小结
第3章 函数式思维和前端特征
3.1 状态和副作用
3.2 过程和高阶抽象
3.3 运行环境承担更多的职责
3.4 类型和数据结构
3.5 设计模式和语言特征
3.6 异常态
3.7 前端的其他特征
3.8 案例和代码
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.10 本章小结
第5章 函数式工具形态演进
5.1 jQuery和链式调用
5.2 管道和组合
5.3 Promise编码
5.4 Async/Await函数
5.5 MobX、RxJS和响应式编程
5.6 函数式的并发保障
5.7 案例和代码
5.8 本章小结
第6章 从RxJS看事件流和函数响应式编程
6.1 RxJS的产生和事件流编程演进
6.2 核心类
6.3 “红包雨掉落”代码改造
6.4 事件流相关主要方法举例
6.5 案例和代码
6.6 本章小结
第7章 React Hooks和它的函数式考量
7.1 无状态组件和状态管理
7.2 React Hooks的原理和目的
7.3 React Hooks的实践和方向
7.4 案例和代码
7.5 本章小结
第8章 函数式和前端复杂度总结
8.1 前端开发的复杂度
8.2 函数式在前端的积极作用
8.3 编码之上的工作
8.4 他山之石
8.5 案例和代码
8.6 本章小结
第9章 简易关卡引擎项目补充
9.1 需求清单
9.2 项目和文件结构
9.3 开发者和用户交互
9.4 整体服务和引擎生命周期
9.5 代码清单
9.6 更多扩展
9.7 本章小结