@ [TOC]
又到了每月一书的时间,本月阅读的是技术相关书籍《RxJava2.x实战》,下面分享一下我阅读完后的体会。
主要内容
本书主要介绍了RxJava
这个框架,框架版本是2.x。主要内容包含三大部分:
- 框架的原理和使用方法
- 框架中各类操作符的使用方法
- 和其它框架配合使用的方法,这块可以看作是综合使用实战。
本书的重点内容是前两部分,我推荐的阅读方法是先看基本原理和使用方法,明白原理后掌握一些常用的操作符,然后看一下和retrofit
的综合使用示例就可以。
该框架的操作符比较多,一下子掌握全部操作符很不现实,可以对操作符进行归类,掌握每一类中一两个常用的操作符就可以,遇到不熟悉的操作符后再查阅书中与此操作符相关的内容就可以。
那么问题来了,框架为什么有这么多的操作符?每种操作符都有一定的使用场景,大家可以结合项目的需求使用合适的操作符。
优缺点
本书的优点有三个详细如下:
- 对框架原理的介绍以及给了综合使用方法。本框架的原理看着简单,如果不去动手实践的话还是比较难理解,结合书中的讲解和使用示例可以快速上手该框架。
- 书中把RxJava框架和其它框架结合起来综合使用,比如和rxbinding和retrofit综合的示例,这些是实际项目中经常使用的内容。
- 书中还提供了一些作者自己的经验,比如调试线程切换时分享了自己的日志工具,把一些工具使用kotlin写成了工具类。
本书的缺点在于操作符的讲解,我阅读后的感觉就是对官方文档的翻译,还不如直接去看文档和代码中的注释,而且这部分内容还占据了不少的篇幅。
此外,本书出版于2018年因此介绍的框架版本是2.x,到2023年为止该框架已经推出新的3.x版本,书中介绍的部分操作符有变化,而且肯定不包含新版本中增加的操作符,因此遇到操作相关问题时,我推荐大家查阅官方文档。
书箱之外
我们抛开书中内容单独说说RxJava
这个框架。我先说结论:我推荐在Android项目中使用此框架。原因有以下几点:
- 对于事件流的管理。观察者模式是经常使用的模式,如果我们自己编写此模式时就需要处理各种事件流,使用该框架后就不用自己动手去写观察者模式,而且代码比较简洁。比如我在项目中连接蓝牙时使用此框架就很方便。
- 事件的异步处理。在项目中经常使用Handler来更新UI,常用的做法是先更新数据,然后把数据更新到UI中,此过程中更新数据和更新UI是两个相互独立的事件流,可以使用该框架来代替Handler,因为它把数据查询和更新UI两个事件流合成了统一的事件流。
技术总是在变化,RxJava
的出现完全代替了以前的Eventbus
,后面会不会有新的技术或者框架来代替RxJava
?比如目前Kotlin中的协程。我们拭目以待!
以上是我自己关于本书的阅读经历和收获,欢迎大家在评论区交流出讨论。