Skip to content

3.x: Single or split library. #5621

@akarnokd

Description

@akarnokd

RxJava 2 is quite a beast with several foundational types (Flowable, ParallelFlowable, Observable, Single, Maybe, Completable) with extensive API surfaces and considerable jar file size.

Arguments for splitting:

  • Less conceptional weight due to the backpressure/no-backpressure difference between them.
  • Flow-supporting parts, such as Disposable, Scheduler, SimpleQueue and other support can be factored out.
  • Smaller download size.

Arguments against:

  • RxJava 2 ProGuards quite well
  • The need to introduce 4 artifacts: common, flowable, observable, interop. The interop is required as the flowable and observable can no longer reference each other.
  • Should they share the same version or have independent versions?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions