书籍介绍
RxJava 可以称得上是 Java 世界里的明星项目,在 github 上,Java 语言分类下的项目,star 数排名第一项目的就是 RxJava,它确实是Java世界的革命者,解决了 Java 在许多方面的编程困境;当然,也有人说,RxJava 如此的流行,是因为抱上了 Android 这条大腿,这给 RxJava带来了巨大的关注度(我不确定到底是谁抱了谁的大腿),哈哈。
抛开大腿论调,RxJava确实可以帮助你写出更加高效而且简洁的代码,在传统的编程方式中很难实现的逻辑,通过 RxJava 可以很方便的处理。于此同时,也可以帮助你对自己的项目结构有更加深入的了解,可以说这两者是相辅相成的。
遗憾的是,在中文互联网中,大部分的博客都聚焦于怎么入门,如何使用那些操作符等等这些相对基础的东西,这对于不了解RxJava的开发者来讲,是一个非常友好的现象。至少,我本人最初也是分享一些的关于RxJava相对基础的文章。不过随着学习的深入,我还是觉得关于RxJava需要一个相对高阶的内容,去关注那些相对深入和底层的概念,以及RxJava相对高阶的问题。
这本小册的名字叫RxJava高阶指南,那么必定和普通的RxJava入门教程是有所区别的,这本小册会着力于探讨两大类问题:
- ReactiveX的起源,设计,发展和演进的探究
- RxJava在实现Rx的过程中的相关问题的探究,以及线程调度,性能开销等问题的深入探讨。
最近,我突发奇想,把自己这一两年关于RxJava相关的文章和笔记汇集在一起,然后根据词汇出现的频率做了一个弹幕图片(单词出现频率越大,单词字体越大):
里面的很多高频的单词,就是我们接下来需要深入探讨的概念。这说明,我们时常提到一些概念,一些单词,比如异步编程模型,响应式编程,基于事件等等,但是一旦要你把它说清楚,又会觉得很困难。这是这本小册会帮助你解决这个问题。
研发团队都应该学习使用RxJava,因为这会提高开发的效率,降低在处理复杂逻辑时的失误率,而团队里更应该有一个对RxJava最了解的人来坐镇,当团队出现比较棘手的问题时,能出手解决;我希望这本小册能够帮助你成为那个人。
这本小册将会以Java为主要的代码实现语言,但其实很多内容也基本适用于所有的Rx其他语言实现版本。
本书目录
- 从异步编程模型说起
- 从Pull推导出Push
- ReactiveX如何设计异步编程
- ReactiveX, 一个新的编程理念
- Reactive Stream —— 遇见更好的ReactiveX
- 怎样理解和运用响应式编程
- flatMap探究
- RxJava线程调度源码剖析
- RxJava 的线程调度问题
- RxJava 的一些尾部问题
- (加餐)RxJava的一次实践
关于作者
大家好,我是拉丁吴,糗事百科Android工程师,没有名号,多多指教。
适合人群
- Android工程师
- Java工程师
- 对响应式编程感兴趣的开发者
你会学到什么?
- ReactiveX起源,设计,和演进
- ReactiveX的剖析(异步编程和事件驱动)
- Reactive Stream相关知识
- 对响应式编程的理解
- RxJava中关于线程调度,并发等问题
- RxJava中对于重点操作符的剖析
- RxJava代码的开销
- RxJava中一些不易察觉但是可能很严重的问题
你应该已经了解什么?
你应该具备基本的Java编程知识,以及对RxJava有基本的了解
如果不太了解RxJava基础怎么办?
其实我在掘金上一些写了一些关于RxJava的基础入门文章:
- 关于RxJava最友好的文章(基础)
- 关于RxJava最友好的文章——背压(Backpressure)
- 关于 RxJava 最友好的文章—— RxJava 2.0 全新来袭
从阅读量和点赞数来看,这是掘金上所有关于Rxjava的文章中最受欢迎的小系列,其中第一篇还成为了去年掘金年度最受欢迎的文章之一,如果你看过这些文章,我相信你就不会担心接下来的小册的内容会晦涩难懂,我会尽力把复杂的概念拆解给大家,帮助大家理解,在小册的易读性上,大家可以完全放心。