All Projects → ReactiveCocoa → Reactiveswift

ReactiveCocoa / Reactiveswift

Licence: other
Streams of values over time

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Reactiveswift

flutter-form-with-validation-BLOC
This form and validation functions are created by using the BLOC pattern with RxDart instead of using StatefulWidget
Stars: ✭ 63 (-97.76%)
Mutual labels:  reactive-streams, reactive-programming
springboot-rsocketjwt-example
Example of using JWT with RSocket and Spring Boot
Stars: ✭ 26 (-99.08%)
Mutual labels:  reactive-streams, reactive-programming
netifi-quickstart-java
Project to assist you in getting started using Netifi.
Stars: ✭ 23 (-99.18%)
Mutual labels:  reactive-streams, reactive-programming
Monix
Asynchronous, Reactive Programming for Scala and Scala.js.
Stars: ✭ 1,819 (-35.31%)
Mutual labels:  reactive-programming, reactive-streams
assembler
Functional, type-safe, stateless reactive Java API for efficient implementation of the API Composition Pattern for querying/merging data from multiple datasources/services, with a specific focus on solving the N + 1 query problem
Stars: ✭ 102 (-96.37%)
Mutual labels:  reactive-streams, reactive-programming
Reactive Ms Example
An educational project to learn reactive programming with Spring 5
Stars: ✭ 157 (-94.42%)
Mutual labels:  reactive-programming, reactive-streams
mongo-images
Ever wonder how you can create a full stack reactive application that also saves images? Well look no further! We've got Spring Webflux, Reactive Mongo Streams with GridFS, and Angular5!
Stars: ✭ 12 (-99.57%)
Mutual labels:  reactive-streams, reactive-programming
Flutter validation login form bloc pattern rxdart
[Functional reactive programming (FRP)]💧 💧 💧 [Pure RxDart] Validation login form by using the BLoC pattern with RxDart - A new Flutter project featuring a faked authentication interface to demonstrate validation. Implemented with BloC pattern.
Stars: ✭ 45 (-98.4%)
Mutual labels:  reactive-programming, reactive-streams
Rx.Http
A reactive way to make HTTP Request in .NET Core 🚀
Stars: ✭ 62 (-97.8%)
Mutual labels:  reactive-streams, reactive-programming
KotlinReactiveMS
An educational project to learn reactive programming with Spring 5 and Kotlin
Stars: ✭ 33 (-98.83%)
Mutual labels:  reactive-streams, reactive-programming
Rsocket Rpc Java
Standard RSocket RPC Java Implementation
Stars: ✭ 126 (-95.52%)
Mutual labels:  reactive-programming, reactive-streams
reacted
Actor based reactive java framework for microservices in local and distributed environment
Stars: ✭ 17 (-99.4%)
Mutual labels:  reactive-streams, reactive-programming
Spring Webflux Reactive Rest Api Demo
Build Reactive Rest APIs with Spring WebFlux and Reactive Mongo
Stars: ✭ 117 (-95.84%)
Mutual labels:  reactive-programming, reactive-streams
Awesome Reactive Programming
A repository for sharing all the resources available on Reactive Programming and Reactive Systems
Stars: ✭ 163 (-94.2%)
Mutual labels:  reactive-programming, reactive-streams
Rhub
Reactive Event Hub
Stars: ✭ 66 (-97.65%)
Mutual labels:  reactive-programming, reactive-streams
kotlin-kafka-and-kafka-streams-examples
Kafka with KafkaReactor and Kafka Streams Examples in Kotlin
Stars: ✭ 33 (-98.83%)
Mutual labels:  reactive-streams, reactive-programming
Rxcombine
Bi-directional type bridging between RxSwift and Apple's Combine framework
Stars: ✭ 741 (-73.65%)
Mutual labels:  reactive-programming, reactive-streams
Rxdownloader
- Reactive Extension Library for Android to download files
Stars: ✭ 40 (-98.58%)
Mutual labels:  reactive-programming, reactive-streams
Atmosph4rX
Atmosphere Framework version 4 for Reactive Streams
Stars: ✭ 34 (-98.79%)
Mutual labels:  reactive-streams, reactive-programming
webflux-streaming-demo
A tryout of reactive application using Spring 5 WebFlux and mongoDB, along with an overview article on reactive programming.
Stars: ✭ 96 (-96.59%)
Mutual labels:  reactive-streams, reactive-programming

ReactiveSwift

Streams of values over time. Tailored for Swift.

Latest ReactiveSwift Documentation Join the ReactiveSwift Slack community.


Carthage compatible CocoaPods compatible SwiftPM compatible GitHub release Swift 5.1 platforms

🚄 Release Roadmap

Getting Started

Learn about the Core Reactive Primitives in ReactiveSwift, and Basic Operators available offered by these primitives.

Extended modules

Module Repository Description
ReactiveCocoa ReactiveCocoa/ReactiveCocoa

Extend Cocoa frameworks and Objective-C runtime APIs with ReactiveSwift bindings and extensions.

Loop ReactiveCocoa/Loop

Composable unidirectional data flow with ReactiveSwift.

ReactiveSwift Composable Architecture trading-point/reactiveswift-composable-architecture

The Pointfree Composable Architecture using ReactiveSwift instead of Combine.

What is ReactiveSwift in a nutshell?

ReactiveSwift offers composable, declarative and flexible primitives that are built around the grand concept of streams of values over time.

These primitives can be used to uniformly represent common Cocoa and generic programming patterns that are fundamentally an act of observation, e.g. delegate pattern, callback closures, notifications, control actions, responder chain events, futures/promises and key-value observing (KVO).

Because all of these different mechanisms can be represented in the same way, it’s easy to declaratively compose them together, with less spaghetti code and state to bridge the gap.

References

  1. API Reference

  2. API Contracts

    Contracts of the ReactiveSwift primitives, Best Practices with ReactiveSwift, and Guidelines on implementing custom operators.

  3. Debugging Techniques

  4. RxSwift Migration Cheatsheet

Installation

ReactiveSwift supports macOS 10.9+, iOS 9.0+, watchOS 2.0+, tvOS 9.0+ and Linux.

Carthage

If you use Carthage to manage your dependencies, simply add ReactiveSwift to your Cartfile:

github "ReactiveCocoa/ReactiveSwift" ~> 6.1

If you use Carthage to build your dependencies, make sure you have added ReactiveSwift.framework to the "Linked Frameworks and Libraries" section of your target, and have included them in your Carthage framework copying build phase.

CocoaPods

If you use CocoaPods to manage your dependencies, simply add ReactiveSwift to your Podfile:

pod 'ReactiveSwift', '~> 6.1'

Swift Package Manager

If you use Swift Package Manager, simply add ReactiveSwift as a dependency of your package in Package.swift:

.package(url: "https://github.com/ReactiveCocoa/ReactiveSwift.git", from: "6.1.0")

Git submodule

  1. Add the ReactiveSwift repository as a submodule of your application’s repository.
  2. Run git submodule update --init --recursive from within the ReactiveCocoa folder.
  3. Drag and drop ReactiveSwift.xcodeproj into your application’s Xcode project or workspace.
  4. On the “General” tab of your application target’s settings, add ReactiveSwift.framework to the “Embedded Binaries” section.
  5. If your application target does not contain Swift code at all, you should also set the EMBEDDED_CONTENT_CONTAINS_SWIFT build setting to “Yes”.

Playground

We also provide a Playground, so you can get used to ReactiveCocoa's operators. In order to start using it:

  1. Clone the ReactiveSwift repository.
  2. Retrieve the project dependencies using one of the following terminal commands from the ReactiveSwift project root directory:
    • git submodule update --init --recursive OR, if you have Carthage installed
    • carthage checkout
  3. Open ReactiveSwift.xcworkspace
  4. Build ReactiveSwift-macOS scheme
  5. Finally open the ReactiveSwift.playground
  6. Choose View > Show Debug Area

Have a question?

If you need any help, please visit our GitHub issues or Stack Overflow. Feel free to file an issue if you do not manage to find any solution from the archives.

Release Roadmap

Current Stable Release:
GitHub release

Plan of Record

ABI stability release

ReactiveSwift has no plan to declare ABI and module stability at the moment. It will continue to be offered as a source only dependency for the foreseeable future.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].