RxJava学习 - 初步了解
前言
关于RxJava的学习资料已经有很多了,本系列文章算是自己对于RxJava学习的一个过程记录,如果错误请大家指出。文末附有本人认为较好的一系列文章链接。
什么是RxJava
RxJava在GitHub主页上的自我介绍是:
“Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.”
直译过来的大概意思就是:一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库
可能对于一个初学者来说,很难理解到底是什么意思。不如在了解什么是RxJava之前,我们可以先来看一下什么是Rx:
“Reactive Extensions(Rx)是一个类库,它集成了异步、基于可观察(observable)序列的事件驱动编程和LINQ-style的查询操作。使用Rx,开发人员可以用observable对象描述异步数据流,使用LINQ操作符异步查询数据和使用Schedulers控制异步过程中的并发。简而言之,Rx = Observables + LINQ + Schedulers。”
这样我们就可以知道Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,同时Rx库支持.NET(Rx.NET)、Swift(RxSwift) ...
在了解了什么是Rx之后,就可以很轻松的理解到RxJava本质上可以压缩为异步这一个词。说到根上,它就是一个实现异步操作的库,而别的定语都是基于这之上的。
学习RxJava前你应该掌握的
RxJava最核心的两个东西是Observables(被观察者,事件源)和Subscribers(观察者)。Observables发出一系列事件,Subscribers处理这些事件。这里的事件可以是任何你感兴趣的东西(触摸事件,web接口调用返回的数据)
所以我们需要先了解最基本的观察者模式,以及在java中的应用
RxJava学习 - 掌握观察者模式