从去年(2015)10月份左右接触到RxJava到今(2016.03)也有近半个年,从一开始的Rx风格的蒙圈代码到现在自己项目中必不可少的Lib,多多少少积累下来一些经验,再加上周边小伙伴不时的问这个依赖(RxJava)是什么?这代码什么意思?RxJava是什么?能做什么?很牛B吗?- -!有时候真的问的人无言以对。
1、Rxjava是什么(响应式编程)
这个问题有很多前辈都已经解答过,如果你真的想了解并去学习RxJava,不妨抛下心中的烦躁(要知道有些东西并不是拿来就能用),耐心的去阅读他们的博客或资料(文章末尾),我对这个问题的回答肯定没有前辈那么有深度或广度,所以在此就不过多的去阐述其概念。基于自己的理解下一个定义:
RxJava是一个使用Java语言基于观察者设计模式拓展而来的响应式编程库。
2、Rxjava能做什么(高效)
首先我们需要明确,使用RxJava写出的功能,并不会说比普通的Java代码多么强大, 不禁会问:那有什么卵用?(已不止一个小伙伴讽刺过这个答案),当我们真正了解了RxJava以及使用一些便捷的操作符,我们会更深刻的体会到什么是高效。
3、如何学习RxJava(耐心)
首先请调节好学习心态,RxJava并不是一个”拿来就能用“的项目,他需要我们像学习一门新语言一样从语法-->词汇-->用法的学习过程,不要抱怨他是多么的复杂、国内资料是多么的少。毕竟它只是个不到1MB Jar包大小的库,花不了我们太多时间即可入门,我们需要做的只是摆好心态,耐心的学习。
一、入门
如果你还没有接触过RxJava,下面这些文章可能会帮到你:
下面这些文章适合你跟着去敲,了解RxJava的基本语法:
——hi大头鬼hi
如果你对RxJava的链式编程和代码结构感到好奇,下面这篇文章会从代码的角度给你带来惊喜:
从代码的角度教你实现一个简易的RxJava库
二、进阶
如果你已了解RxJava基本语法,并尝试着去练习,那么现在你需要熟悉更多的操作符,并理解它们的意思,在特定的场合使用它们去编写代码。
以下是网上收集到的RxJava操作符在某些场景下的使用:
以下是本人在工作之余写的Demo:
三、 其他可能对你有所帮助的资料
值得一读的文章:
四、学习中可能会涉及到的库