Repolode
ReactiveX

ReactiveX/RxJava

Implementación de Reactive Extensions para la JVM de Java que permite componer programas asíncronos y basados en eventos mediante secuencias observables.

Estrellas
48,159
Forks
7,584
Issues abiertos
12
Último commit
ayer

¿Qué es?

RxJava amplía el patrón observador a secuencias de datos y eventos, y ofrece operadores para combinar, transformar y filtrar esas secuencias de forma declarativa. Los desarrolladores crean pipelines de procesamiento sin gestionar directamente hilos de bajo nivel, la sincronización ni estructuras de datos concurrentes; el trabajo se mueve entre hilos mediante abstracciones Scheduler como subscribeOn y observeOn.

La biblioteca ofrece varios tipos reactivos para distintas cantidades de elementos: Flowable para flujos con backpressure, Observable para flujos ilimitados sin backpressure, Single, Maybe y Completable para cero o un resultado, y Streamable para flujos bloqueantes basados en virtual threads en la versión 4. La versión 4.x se basa en java.util.concurrent.Flow, no requiere dependencias de runtime de terceros y admite Virtual Threads mediante schedulers como Schedulers.virtual().

El proyecto usa la licencia Apache-2.0 y se publica en Maven Central con el grupo io.reactivex.rxjava4. Su wiki y Javadoc documentan los operadores, y la versión 3.x sigue disponible para el código existente.

Funciones clave

  • 01Compone flujos asíncronos de datos y eventos con operadores declarativos como map, filter y flatMap.
  • 02Ofrece Flowable con backpressure y Observable sin ella, además de Single, Maybe y Completable para casos con un único resultado.
  • 03Cambia el trabajo de hilo mediante Schedulers, incluidos computation, cached, virtual y single.
  • 04Se basa en java.util.concurrent.Flow y no requiere dependencias de runtime de terceros.
  • 05Admite Virtual Threads mediante Schedulers.virtual() y virtualCreate().

Casos de uso

  • Ejecutar llamadas de red o a bases de datos en segundo plano y entregar los resultados a un hilo de UI.
  • Encadenar llamadas asíncronas dependientes a servicios, en las que cada paso usa el resultado del anterior.
  • Procesar flujos de eventos con un uso de memoria controlado mediante backpressure.
  • Coordinar trabajo paralelo con flatMap o ParallelFlowable y combinar los resultados.

Inicio rápido

  1. 1

    Añade la dependencia de RxJava 4 a tu compilación (consulta el ejemplo de Gradle en el README).

  2. 2

    Escribe y ejecuta el programa Hello World usando Flowable.

Antes de usarlo

  • Desarrollado para Java 26; el README indica que la compatibilidad con Android depende del nivel de API y del desugaring.
  • La versión 4 usa nuevos nombres de paquete (io.reactivex.rxjava4), por lo que migrar desde la 3.x requiere cambios en el código.
  • La compatibilidad con RxJava 3.x se reducirá en los próximos meses.

Temas

Preguntas frecuentes

¿Qué es RxJava?
Implementación de Reactive Extensions para la JVM de Java que permite componer programas asíncronos y basados en eventos mediante secuencias observables. RxJava amplía el patrón observador a secuencias de datos y eventos, y ofrece operadores para combinar, transformar y filtrar esas secuencias de forma declarativa. Los desarrolladores crean pipelines de procesamiento sin gestionar directamente hilos de bajo nivel, la sincronización ni estructuras de datos concurrentes; el trabajo se mueve entre hilos mediante abstracciones Scheduler como subscribeOn y observeOn.
¿RxJava es gratuito? ¿Qué licencia tiene?
RxJava es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿RxJava sigue mantenido?
Mantenimiento activo. El último commit de RxJava fue el 23 oct 2026.
¿Para qué puedo usar RxJava?
Ejecutar llamadas de red o a bases de datos en segundo plano y entregar los resultados a un hilo de UI. Encadenar llamadas asíncronas dependientes a servicios, en las que cada paso usa el resultado del anterior. Procesar flujos de eventos con un uso de memoria controlado mediante backpressure. Coordinar trabajo paralelo con flatMap o ParallelFlowable y combinar los resultados.
¿Cómo se instala RxJava?
Añade la dependencia de RxJava 4 a tu compilación (consulta el ejemplo de Gradle en el README). Escribe y ejecuta el programa Hello World usando Flowable.
¿Dónde consigo RxJava?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/ReactiveX/RxJava

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados