mplatvoet / kovenant

Kovenant. Promises for Kotlin.
http://kovenant.komponents.nl
MIT License
654 stars 28 forks source link
andriod async concurrency kotlin promises rx rxjava

CircleCI branch Maven Central DUB develop: Develop dependency status master: Master dependency status

Kovenant

Promises for Kotlin.

The easy asynchronous library for Kotlin. With extensions for Android, RxJava, JavaFX and much more.

task { "world" } and task { "Hello" } success {
    println("${it.second} ${it.first}!")
}

Please refer to the Kovenant site for API usage and more.

Getting started

Build against Kotlin: 1.0.3. Source and target compatibility is 1.6

Gradle

dependencies {
    compile 'nl.komponents.kovenant:kovenant:3.3.0'
}

Maven

<dependency>
    <groupId>nl.komponents.kovenant</groupId>
    <artifactId>kovenant</artifactId>
    <version>3.3.0</version>
</dependency>

Android Demo app

Checkout the Android Demo App on Github.

Artifacts

Kovenant has been structured in sub projects so you can cherry pick what you need.

artifact description
kovenant Container artifact that consists of kovenant-core, kovenant-combine, kovenant-jvm and kovenant-functional
kovenant-core The core of kovenant. Provides the API and default implementations
kovenant-combine Adds combine functionality that keep everything strongly typed
kovenant-jvm Support for converting between Executors and Dispatchers
kovenant-ui Support for UI frameworks that need UI work to operate on a specific process
kovenant-rx Add promise support to Rx
kovenant-android Extensions for Android specific needs
kovenant-jfx Extensions for JavaFX specific needs
kovenant-disruptor LMAX Disruptor work queues
kovenant-progress Progress configuration helper
kovenant-functional Functional Programming idiomatic additions

Issues

Issues are tracked in Youtrack

Release notes

See Changelog for release notes

Slack

Join the #kovenant channel on Kotlin Slack.

More Kotlin libraries

Check out Awesome Kotlin