Библиотека утилит для TypeScript с функциями для массивов, объектов и других типичных задач, поддерживающими вызов с данными до или после функции.
ReactiveX/RxSwift
Реализация Reactive Extensions (Rx) на Swift для объединения асинхронных событий и потоков данных с помощью последовательностей Observable.
- Звёзды
- 24,627
- Форки
- 4,147
- Открытые issues
- 19
- Последний коммит
- 2 месяца назад
Что это?
RxSwift переносит модель Reactive Extensions (ReactiveX) в Swift. Асинхронные задачи, события UI, наблюдения KVO и другие потоки данных представлены в виде последовательностей Observable: их можно преобразовывать, фильтровать и объединять с помощью множества операторов, а также подписываться на получение значений и событий завершения.
Проект состоит из нескольких модулей. RxSwift — ядро без внешних зависимостей. RxCocoa добавляет специфичные для Cocoa инструменты для iOS, macOS, tvOS и watchOS, например привязки к элементам управления UIKit и AppKit, а также общие последовательности и трейты вроде Driver. RxRelay предоставляет PublishRelay, BehaviorRelay и ReplayRelay, а RxTest и RxBlocking помогают тестировать код на Rx.
RxSwift можно установить с помощью Swift Package Manager, Carthage, XCFrameworks или git submodules. В репозитории есть пример приложения и документация по началу работы, трейтам, тестированию и распространённым ошибкам.
Ключевые возможности
- 01Последовательности Observable объединяют асинхронные операции, события UI и потоки KVO.
- 02Большой набор операторов для преобразования, фильтрации и объединения потоков.
- 03RxCocoa предоставляет привязки и общие последовательности для UI-фреймворков Apple.
- 04RxRelay предоставляет обёртки PublishRelay, BehaviorRelay и ReplayRelay над subject.
- 05RxTest и RxBlocking помогают тестировать код на Rx.
- 06Можно установить через Swift Package Manager, Carthage или XCFrameworks.
Сценарии использования
- Привязка результатов сетевого поиска к таблице с задержкой ввода и отменой запросов.
- Объединение нескольких асинхронных вызовов API в единый реактивный конвейер в приложении для iOS.
- Управление состоянием UI на основе пользовательского ввода и изменений модели в архитектурах MVVM.
- Написание модульных тестов асинхронной логики потоков с помощью RxTest.
Быстрый старт
- 1
Добавьте RxSwift в качестве зависимости в Package.swift
- 2
Соберите проект с помощью Swift Package Manager
swift build
Что важно знать
- В README упоминается нерешённая ошибка Swift Package Manager, связанная с перекрёстными зависимостями (SR-12303), которая может повлиять на сборку.
В подборках
Темы
Частые вопросы
- Что такое RxSwift?
- Реализация Reactive Extensions (Rx) на Swift для объединения асинхронных событий и потоков данных с помощью последовательностей Observable. RxSwift переносит модель Reactive Extensions (ReactiveX) в Swift. Асинхронные задачи, события UI, наблюдения KVO и другие потоки данных представлены в виде последовательностей Observable: их можно преобразовывать, фильтровать и объединять с помощью множества операторов, а также подписываться на получение значений и событий завершения.
- RxSwift можно использовать бесплатно? Какая у него лицензия?
- RxSwift распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- RxSwift всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в RxSwift — 4 сент. 2026 г..
- Для чего можно использовать RxSwift?
- Привязка результатов сетевого поиска к таблице с задержкой ввода и отменой запросов. Объединение нескольких асинхронных вызовов API в единый реактивный конвейер в приложении для iOS. Управление состоянием UI на основе пользовательского ввода и изменений модели в архитектурах MVVM. Написание модульных тестов асинхронной логики потоков с помощью RxTest.
- Как установить RxSwift?
- Добавьте RxSwift в качестве зависимости в Package.swift Соберите проект с помощью Swift Package Manager: swift build
- Где скачать RxSwift?
- Исходный код и инструкции по установке — на GitHub: https://github.com/ReactiveX/RxSwift
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Библиотека на OCaml для эффективного обновления вычислений при изменении входных данных, основанная на концепции самонастраивающихся вычислений.
Фреймворк на Go для создания терминальных интерфейсов по паттерну model-update-view из The Elm Architecture.
Реализация Reactive Extensions для Java VM, позволяющая компоновать асинхронные программы и программы на основе событий с помощью последовательностей Observable.
Простое и масштабируемое управление состоянием в приложениях на JavaScript и TypeScript с автоматическим отслеживанием зависимостей и оптимальным обновлением интерфейса.
Реактивный Python-ноутбук, который автоматически перезапускает зависимые ячейки, хранит ноутбуки в виде обычных файлов .py и запускается как скрипт или приложение.