ReactiveTask alternatives and similar libraries
Based on the "Reactive Programming" category.
Alternatively, view ReactiveTask alternatives based on common mentions on social networks and blogs.
-
JASONETTE-iOS
Native App over HTTP. Create your own native iOS app with nothing but JSON. -
ReactiveSwift
Streams of values over time by ReactiveCocoa group -
OpenCombine
Open source implementation of Apple's Combine framework for processing values over time. -
RxAlamofire
RxSwift wrapper around the elegant HTTP networking in Swift Alamofire -
RxCoordinator
Powerful navigation library for iOS based on the coordinator pattern. -
ReactiveKit
ReactiveKit is a collection of Swift frameworks for reactive and functional reactive programming. -
Interstellar
Simple and lightweight Functional Reactive Coding in Swift for the rest of us. :large_orange_diamond: -
RxAutomaton
RxSwift + State Machine, inspired by Redux and Elm. -
NSObject-Rx
Handy RxSwift extensions on NSObject, including rx_disposeBag. -
Hanson
Lightweight observations and bindings in Swift, with support for KVO and NotificationCenter. -
RxMediaPicker
A reactive wrapper built around UIImagePickerController. -
VueFlux
Unidirectional Data Flow State Management Architecture for Swift -
ReactiveCoreData
ReactiveCoreData (RCD) is an attempt to bring Core Data into the ReactiveCocoa (RAC) world. -
Verge
Verge is a faster and scalable state management library for UIKit and SwiftUI -
Reactor
๐ Unidirectional Data Flow using idiomatic Swift-inspired by Elm and Redux . -
TemplateKit
React-inspired framework for building component-based user interfaces in Swift. -
RxReduce
Lightweight framework that ease the implementation of a state container pattern in a Reactive Programming compliant way. -
LightweightObservable
A lightweight implementation of an observable sequence that you can subscribe to. -
RxMultipeer
A testable RxSwift wrapper around MultipeerConnectivity -
ReactiveArray
An array class implemented in Swift that can be observed using ReactiveCocoa's Signals. -
RxWebSocket
Reactive extension over Starscream for websockets -
SimpleApiClient
A configurable api client based on Alamofire4 and RxSwift4 for iOS. -
ACKReactiveExtensions
Useful extensions for ReactiveCocoa -
Bindy
Simple, lightweight swift bindings with KVO support and easy to read syntax. -
BindKit
Two-way data binding framework for iOS. Only one API to learn. -
STDevRxExt
STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy. -
RxAlamoRecord
Combines the power of the AlamoRecord and RxSwift libraries to create a networking layer that makes interacting with API's easier than ever reactively. -
RxOptional
RxSwift extentions for Swift optionals and "Occupiable" types -
Tokamak
React-like framework providing a declarative API for building native UI components with easy to use one-way data binding.
Scout APM - Leading-edge performance monitoring starting at $39/month
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of ReactiveTask or a related project?
README
ReactiveTask
ReactiveTask is a Swift framework for launching shell tasks (processes), built using ReactiveSwift.
let strings = [ "foo\n", "bar\n", "buzz\n", "fuzz\n" ]
let input = SignalProducer<Data, NoError>(values: strings.map { $0.data(using: .utf8)! })
let task = Task("/usr/bin/sort")
// Run the task, ignoring the output, and do something with the final result.
let result: Result<String, TaskError>? = task.launch(standardInput: input)
.ignoreTaskData()
.map { String(data: $0, encoding: .utf8) }
.ignoreNil()
.single()
print("Output of `\(task)`: \(result?.value ?? "")")
// Start the task and print all the events, which includes all the output
// that was received.
task.launch(standardInput: input)
.flatMapTaskEvents(.concat) { data in
return SignalProducer(value: String(data: data, encoding: .utf8))
}
.startWithNext { (event: TaskEvent) in
switch event {
case let .launch(task):
print("launched task: \(task)")
case let .standardError(data):
print("stderr: \(data)")
case let .standardOutput(data):
print("stdout: \(data)")
case let .success(string):
print("value: \(string ?? "")")
}
}
For examples of how to use ReactiveTask, see the Xcode and Git integration code from the CarthageKit framework.
License
ReactiveTask is released under the [MIT license](LICENSE.md).
*Note that all licence references and agreements mentioned in the ReactiveTask README section above
are relevant to that project's source code only.