rxjava和rxkotlin有什么区别?

问题描述 投票:4回答:3

rxjava2依赖和rxkotlin依赖之间有什么区别。如果我使用rxkotlin依赖项,我是否需要添加rxjava2依赖项。

implementation 'io.reactivex.rxjava2:rxkotlin:x.y.z'
// do i need to add the below dependencies also?
implementation 'io.reactivex.rxjava2:rxjava:2.2.4'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
android kotlin rx-java2 rx-kotlin
3个回答
5
投票

事情是RX代表Reactive Extensions,而Rx Java,Rx Kotlin或Rx Swift都是该特定语言的Reactive Extensions的实现。

什么是RxJAVA? RxJava是Reactive Extensions的Java VM实现。我们可以在任何线程上创建异步数据流,转换它,Observers可以在任何线程上使用这些异步数据流。

什么是RxKotlin? RxKotlin是Reactive Extensions的Kotlin实现。

什么是RxAndroid?它特定于Android平台,在RxJava之上添加了一些类。

有关更多详细信息,请访问我的rxjava简单示例https://github.com/myJarvis/Intro_to_RxJava的集合。

更进一步说明,RxKotlin有一些方便的扩展功能,与Kotlin一起提供。

您可以使用{RxJava&RxAndroid}或{RxKotlin}

你可以使用RxJava和Kotlin开箱即用


3
投票

正如你在https://mvnrepository.com/artifact/io.reactivex.rxjava2/rxkotlin/2.3.0看到的那样,rxkotlin依赖于rxjava。因此除非您明确排除它,否则它会自动添加为transitive dependency

不出所料,rxkotlin不依赖于rxandroid所以你需要添加它,如果你想使用它。 rxandroidrxkotlin都使用相同的rxjava类型,因此它们可以自由地互操作。


2
投票

由于Kotlin与Java 100%可互操作,因此您可以毫无困难地在Kotlin项目中使用大多数Java库 - 而RxJava库也不例外。

有一个专用的RxKotlin library,它是常规RxJava库周围的Kotlin包装器。此包装器提供了针对Kotlin环境优化RxJava的扩展,并可进一步减少您需要编写的样板代码量。

如果您使用的是rxkotlin,则只需添加以下行

implementation 'io.reactivex:rxkotlin:x.y.z'

如果你想使用rxjava2,你需要包括其他依赖项,即

implementation 'io.reactivex.rxjava2:rxjava:2.2.4'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'

但如果您使用Kotlin作为编程语言,我会建议您使用rxkotlin

更多细节参考this link

© www.soinside.com 2019 - 2024. All rights reserved.