作品简介

文章的内容先是介绍函数式所属的技能树位置:编程范式,也介绍了各种范式在前端的体现。随后会过一批函数式的常见概念,给对函数式思想了解较少的同学一些基础内容。这两章节我理解对于基础较好的同学可能是老生常谈,但因为加入了一些前端示例和我的理解,也应该能算是老坛新酒。

了解完编程范式和基础概念后,我会直接进入“函数式思维”的内容。这章内容主要是帮助大家在依赖函数式框架工具设计时,从传统命令式编程的思考方式,向更契合函数式前端开发的方式改变。比如对循环的实现、数据结构的差别、对异常态和类型的处理等。

第四到七章,分别是前端函数式的几种重要的形态。第四章是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 本章小结
展开全部