Repolode
ReactiveX

ReactiveX/RxSwift

Implementación de Reactive Extensions (Rx) en Swift para componer eventos asíncronos y flujos de datos mediante secuencias Observable.

Estrellas
24,627
Forks
4,147
Issues abiertos
19
Último commit
hace 2 meses

¿Qué es?

RxSwift lleva el modelo de Reactive Extensions (ReactiveX) a Swift. Representa el trabajo asíncrono, los eventos de UI, las observaciones de KVO y otros flujos de datos como secuencias Observable, que se pueden transformar, filtrar y combinar mediante un amplio conjunto de operadores, y a las que se puede suscribir para recibir sus valores y eventos de finalización.

El proyecto se divide en varios módulos. RxSwift es el núcleo y no tiene dependencias externas. RxCocoa añade utilidades específicas de Cocoa para iOS, macOS, tvOS y watchOS, como bindings para controles de UIKit y AppKit, y secuencias y traits compartidos como Driver. RxRelay proporciona PublishRelay, BehaviorRelay y ReplayRelay, mientras que RxTest y RxBlocking permiten probar código basado en Rx.

RxSwift se puede instalar con Swift Package Manager, Carthage, XCFrameworks o submódulos de git. El repositorio incluye una aplicación de ejemplo y documentación sobre cómo empezar, los traits, las pruebas y los errores habituales.

Funciones clave

  • 01Las secuencias Observable unifican las operaciones asíncronas, los eventos de UI y los flujos de KVO.
  • 02Amplio conjunto de operadores para transformar, filtrar y combinar flujos.
  • 03RxCocoa proporciona bindings y secuencias compartidas para los frameworks de UI de Apple.
  • 04RxRelay ofrece wrappers de PublishRelay, BehaviorRelay y ReplayRelay alrededor de subjects.
  • 05RxTest y RxBlocking permiten probar código basado en Rx.
  • 06Se puede instalar con Swift Package Manager, Carthage o XCFrameworks.

Casos de uso

  • Vincular resultados de búsquedas de red a una vista de tabla con debounce y cancelación.
  • Combinar varias llamadas asíncronas a API en un único pipeline reactivo en una app de iOS.
  • Gestionar el estado de la UI a partir de la entrada del usuario y los cambios del modelo en arquitecturas de estilo MVVM.
  • Escribir pruebas unitarias para la lógica de flujos asíncronos con RxTest.

Inicio rápido

  1. 1

    Añade RxSwift como dependencia en Package.swift

  2. 2

    Compila el proyecto con Swift Package Manager

    swift build

Antes de usarlo

  • El README menciona un error no resuelto de dependencias cruzadas de Swift Package Manager (SR-12303) que puede afectar a las compilaciones.

En colecciones

Temas

#reactive-programming#swift#ios#functional-programming#observable#async#rxswift#functional#observer#reactive

Preguntas frecuentes

¿Qué es RxSwift?
Implementación de Reactive Extensions (Rx) en Swift para componer eventos asíncronos y flujos de datos mediante secuencias Observable. RxSwift lleva el modelo de Reactive Extensions (ReactiveX) a Swift. Representa el trabajo asíncrono, los eventos de UI, las observaciones de KVO y otros flujos de datos como secuencias Observable, que se pueden transformar, filtrar y combinar mediante un amplio conjunto de operadores, y a las que se puede suscribir para recibir sus valores y eventos de finalización.
¿RxSwift es gratuito? ¿Qué licencia tiene?
RxSwift es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿RxSwift sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de RxSwift fue el 4 sept 2026.
¿Para qué puedo usar RxSwift?
Vincular resultados de búsquedas de red a una vista de tabla con debounce y cancelación. Combinar varias llamadas asíncronas a API en un único pipeline reactivo en una app de iOS. Gestionar el estado de la UI a partir de la entrada del usuario y los cambios del modelo en arquitecturas de estilo MVVM. Escribir pruebas unitarias para la lógica de flujos asíncronos con RxTest.
¿Cómo se instala RxSwift?
Añade RxSwift como dependencia en Package.swift Compila el proyecto con Swift Package Manager: swift build
¿Dónde consigo RxSwift?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/ReactiveX/RxSwift

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

Proyectos relacionados