编辑点评:
深入浅出RxJS的目的就是降低学习成本,由浅入深地介绍RxJS,逐步解析这门技术的各个方面,让读者能够以一个平缓的学习曲线来掌握这一潜力无限的技术。
编辑推荐
软件开发中有什么老问题?
技术发展迅速,用户的需求增加更快,软件的代码库也会随需求增长快速膨胀,在这种情况下,如何保证代码质量?如何控制代码的复杂度?如何维持代码的可维护性?就成了软件开发的大问题。业界的同仁们为了解决这些老问题做了各种努力,函数式编程和响应式编程就是在实践中被证明行之有效的两种方法。
RxJS兼具函数式和响应式两种编程方式的特点,RxJS擅长处理异步操作,因为它对数据采用“推”的处理方式,当一个数据产生的时候,被推送给对应的处理函数,这个处理函数不用关心数据是同步产生的还是异步产生的,这样就把开发者从命令式异步处理的枷锁中解放了出来。
内容简介
本书系统讲解RxJS响应式编程的技术原理与应用。第1章剖析函数响应式编程的基本概念,通过简单RxJS代码引入函数响应式编程,并与传统编程方式对比,解释这种编程范式的优势,以及这种范式形成的历史。第2章介绍学习RxJS必须掌握的基本概念,包括数据流、操作符和观察者模式。第3~9章介绍RxJS的各种操作符,以及如何选择恰当的操作符来完成不同的任务。第10章介绍RxJS如何实现多播的方式。第11章介绍实现调度Scheduler的作用、原理与使用。第12章介绍如何调试和测试RxJS相关代码,写出高可测试性代码。第13章介绍如何在React应用中使用RxJS,提高代码质量。第14章介绍Redux与RxJS的组合应用,发挥两者的共同优势。第15章介绍一个综合案例,用RxJS实现网页游戏Breakout,并剖析RxJS如何实现动画和绘图。
随着互联网行业的飞速发展,Web开发者面临的挑战也越来越大,伴随着功能的增多,Web应用的复杂度也快速膨胀。对于Web应用,复杂的问题就是异步操作的处理, 无论用户操作、AJAX请求、动画、WebSocket推送都涉及到异步操作,传统的异步处理方法越来越不适应复杂应用的需要,RxJS的产生,就是为了解决日益复杂的前端异步处理问题。RxJS是一门进入门槛比较高的技术,本书的目的就是降低学习成本,由浅入深地介绍RxJS,逐步解析这门技术的各个方面,让读者能够以一个平缓的学习曲线来掌握这一潜力无限的技术。
主要内容包括
函数响应式编程
数据流的工作原理
RxJS操作符的创建方法
RxJS所有操作符的详细分类介绍
多播的应用
Scheduler的应用
RxJS的调试和测试方法
React、Redux和RxJS的组合使用方法
RxJS开发游戏的实践
章节详解
第1章 函数响应式编程。这一章用一些例子展示RxJS体现的编程风格,引出两个重要的概念:函数式编程和响应式编程,使用RxJS的开发者必须先理解这两种风格。
第2章 RxJS入门。这一章介绍软件项目中导入RxJS的方法,RxJS中的基本概念,包括数据流、操作符和观察者模式。
第3章 操作符基础。使用RxJS很大程度上就是在使用操作符,这一章会介绍RxJS中操作符的实现原理。
第4章 创建数据流。这一章介绍RxJS中创建数据流的不同方法,包括RxJS提供的主要创建类操作符的使用方法。
第5章 合并数据流。这一章介绍如何合并多个数据流,包括合并类操作符的使用方法详解。
第6章 辅助类操作符。这一章介绍不是很起眼却很重要的两类操作符,数学类和布尔条件类操作符。
第7章 过滤数据流。这一章介绍如何让流过数据管道的数据根据规则筛选掉一部分,在这一章还会介绍用筛选法进行回压控制的方法。
第8章 转化数据流。这一章介绍对流经数据管道的数据进行格式转化的方法,包括RxJS提供的各种转化类操作符的用法。
第9章 异常错误处理。这一章介绍数据流中产生的异常的处理方法,包括如何捕获异常和实现重试。
第10章 多播。这一章介绍如何让一个数据源的内容被多个观察者接收,包括Subject的使用方法和RxJS对各种多播场景的支持。
第11章 掌握时间的Scheduler。这一章介绍RxJS中Scheduler的概念。
第12章 RxJS的调试和测试。介绍RxJS应用的调试和单元测试方法,深入介绍如何利用RxJS写出高可测试性的代码。
第13章 用RxJS驱动React。这一章介绍RxJS和React结合的方法。
第14章 Redux和RxJS结合。这一章介绍Redux和RxJS的组合方式,包括如何用RxJS实现Redux的功能,如何用Redux-Observable来发挥两者的共同的优势。
第15章 RxJS游戏开发。这一章介绍用RxJS实现一款游戏breakout的完整过程,综合了全书介绍的所有RxJS知识点。
Comments