profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/ReactiveCocoa/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
ReactiveCocoa http://reactivecocoa.io A framework for composing and transforming streams of values

ReactiveCocoa/ReactiveCocoa 19985

Cocoa framework and Obj-C dynamism bindings for ReactiveSwift.

ReactiveCocoa/ReactiveSwift 2765

Streams of values over time

ReactiveCocoa/ReactiveObjC 2389

The 2.x ReactiveCocoa Objective-C API: Streams of values over time

ReactiveCocoa/ReactiveViewModel 1969

Model-View-ViewModel, using ReactiveCocoa

ReactiveCocoa/ReactiveCocoaLayout 680

Reactive layout framework built on top of ReactiveCocoa

ReactiveCocoa/ReactiveAnimation 300

Declarative animations using ReactiveCocoa signals

ReactiveCocoa/RockemSockem 254

A simple WebSocket server

ReactiveCocoa/ReactiveCocoaIO 82

Reactive file management framework built on top of ReactiveCocoa

ReactiveCocoa/ReactiveObjCBridge 59

Bridge between ReactiveObjC and ReactiveSwift

ReactiveCocoa/Loop 51

Composable unidirectional data flow with ReactiveSwift.

startedReactiveCocoa/ReactiveCocoa

started time in a day

startedReactiveCocoa/ReactiveSwift

started time in a day

startedReactiveCocoa/ReactiveSwift

started time in 2 days

startedReactiveCocoa/ReactiveCocoa

started time in 2 days

issue commentReactiveCocoa/ReactiveSwift

Support await / AsyncSequence

Another thing worth watching is whether Swift Concurrency will end up backward deployed.

Async-await is really a natural way to express backpressure (callee can defer return of control flow by holding onto the continuation), especially personally having had a hands-on experience of it in Kotlin Coroutinrs. So that’s honestly how I would see proper backpressure being introduced into RAS versus the Combine/Reactive Streams model.

(especially relevant since the proposed AsyncSequence stuff did not grow into a full fledged FRP toolbox, which means there are still values in community libraries like RAS).

Either way, for now, we should bet on basically simple interops.

NachoSoto

comment created time in 3 days

startedReactiveCocoa/ReactiveCocoa

started time in 3 days

startedReactiveCocoa/ReactiveCocoa

started time in 4 days

startedReactiveCocoa/ReactiveCocoa

started time in 4 days

startedReactiveCocoa/ReactiveSwift

started time in 4 days

startedReactiveCocoa/ReactiveSwift

started time in 5 days

startedReactiveCocoa/ReactiveCocoa

started time in 5 days

startedReactiveCocoa/ReactiveSwift

started time in 5 days

issue commentReactiveCocoa/ReactiveSwift

Support await / AsyncSequence

It should be modelled as a conversion to AsyncSequence conforming type. asSequence() for fluency presumably.

It could also be SignalProducer(Convertible) inheriting AsyncSequence, though I am not sure how the operator name clash will pan out.

The nuance is likely the behaviour of a fast producer against a slow consumer. To achieve the same behaviour as today’s RAS (all items deliver exactly once), we probably need to use unlimited buffering with the (supposedly available) AsyncStream.

(That is assuming we throw away all the blocking options)

NachoSoto

comment created time in 6 days

startedReactiveCocoa/ReactiveObjC

started time in 6 days

fork zhouzhuhao/ReactiveCocoa

Cocoa framework and Obj-C dynamism bindings for ReactiveSwift.

fork in 6 days

startedReactiveCocoa/ReactiveCocoa

started time in 6 days

issue openedReactiveCocoa/ReactiveSwift

Support await / AsyncSequence

I haven’t tried the new betas yet, but I imagine the prevalence of @MainActor will bring issues to current uses of ReactiveSwift. Specifically, I imagine you won’t be able to just do

producer
  .observe(on: UIScheduler())
  .start { [label] in label.text = $0  }

Feature request:

for await value in producer {
  self.label.text = value
}

Unfortunately for try await would mean we lose error type information, so I would propose this API produces Result<Value, Error>, or a sequence of Value if Error is Never.

I’ll probably work on this throughout the week, but other thoughts are appreciated!

created time in 7 days

startedReactiveCocoa/ReactiveSwift

started time in 7 days

startedReactiveCocoa/ReactiveCocoa

started time in 7 days

startedReactiveCocoa/ReactiveCocoa

started time in 8 days

startedReactiveCocoa/ReactiveSwift

started time in 9 days

fork undeadableheart/ReactiveObjC

The 2.x ReactiveCocoa Objective-C API: Streams of values over time

fork in 9 days

startedReactiveCocoa/ReactiveObjC

started time in 9 days

startedReactiveCocoa/Loop

started time in 9 days

startedReactiveCocoa/ReactiveViewModel

started time in 10 days

startedReactiveCocoa/ReactiveCocoa

started time in 10 days

startedReactiveCocoa/ReactiveCocoa

started time in 10 days

startedReactiveCocoa/ReactiveObjC

started time in 10 days

pull request commentReactiveCocoa/ReactiveSwift

Unserialized and Reentrant `Signal`s

+1

andersio

comment created time in 11 days