Skip to content

RxKotlin 1.0 Official Release

Compare
Choose a tag to compare
@thomasnield thomasnield released this 17 Mar 02:27
· 2 commits to 1.x since this release

This is the official release of RxKotlin 1.0, backed by RxJava 1.2.7. The vision of RxKotlin is to standardize conventions for using RxJava with Kotlin.

This project has evolved in the past few years as everyone got their bearings on Kotlin and what standards should emerge, especially when used with RxJava. Because Kotlin introduced non-member functions like listOf() and sequenceOf(), there was experimentation in doing similar functions like observable { }. Extension functions allowed many interesting possibilities as well.

These experiments revealed some interesting natures about the Kotlin language. Kotlin's conciseness and lack of boilerplate easily marginalizes the need to create libraries to save a few lines of code. Intentions to create syntactic sugar can quickly result in syntactic saccharin, and such personal preferences belong in one's internal domain rather than an OSS library. This was particularly the case with non-member functions like observable { }. Therefore, these were the first items to be removed.

Operators that are not standard in ReactiveX were removed as well to tighten focus of the library. Useful operators that are not part of the ReactiveX standard are likely better off in RxJava-Extras or a Kotlin equivalent.

The majority of what remains in RxKotlin are Observable factories turned into extension functions, a small and focused set of operators, a subscribeBy() builder, and a few strategically convenient extension functions.

This library may be lightweight, but hopefully it will help establish a useful standard in using RxJava with Kotlin going forward. Special thanks to @MarioAriasC, @benjchristensen, @stepango, and @JakeWharton for all their research, experimentation, contributions, efforts, and input.

For those using RxJava 2.x, RxKotlin 2.0 will be coming shortly!