All Projects → pakoito → Functionalrx2

pakoito / Functionalrx2

Licence: other
FunctionalRx2 is a collection of constructs to simplify a functional programming approach to Java and Android [STABLE]

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Functionalrx2

Lila
♞ lichess.org: the forever free, adless and open source chess server ♞
Stars: ✭ 10,315 (+12327.71%)
Mutual labels:  functional-programming
Goat
Annotate Images (or goats) On The Web™
Stars: ✭ 78 (-6.02%)
Mutual labels:  functional-programming
Request Compose
Composable HTTP Client
Stars: ✭ 80 (-3.61%)
Mutual labels:  functional-programming
Scalaz Plugin
A compiler plugin that will improve on the scala compiler on the assumption that the user is using the Scalazzi-safe subset of Scala.
Stars: ✭ 76 (-8.43%)
Mutual labels:  functional-programming
Command Center
A CLI-based launcher and general productivity tool.
Stars: ✭ 78 (-6.02%)
Mutual labels:  functional-programming
Rxbus
Android reactive event bus that simplifies communication between Presenters, Activities, Fragments, Threads, Services, etc.
Stars: ✭ 79 (-4.82%)
Mutual labels:  rxjava2
Weexplus
🔨基于阿里WeexSDK跨平台方案,在原有的组件基础上,提供weex调用android native方法的一套扩展通信交互库,包含页面导航、数据存储、图片选择、二维码识别、权限等。
Stars: ✭ 73 (-12.05%)
Mutual labels:  rxjava2
Omnia
Stars: ✭ 81 (-2.41%)
Mutual labels:  functional-programming
Lux
The Lux Programming Language
Stars: ✭ 1,211 (+1359.04%)
Mutual labels:  functional-programming
Monix Bio
Asynchronous data type with typed errors.
Stars: ✭ 80 (-3.61%)
Mutual labels:  functional-programming
Rxactivityresult
This is a library that can help you to receive results from startActivityForResult() as an Observable.
Stars: ✭ 76 (-8.43%)
Mutual labels:  rxjava2
Desafios
FP Challenges
Stars: ✭ 77 (-7.23%)
Mutual labels:  functional-programming
Aardvark.rendering
The dependency-aware, high-performance aardvark rendering engine. This repo is part of aardvark - an open-source platform for visual computing, real-time graphics and visualization.
Stars: ✭ 79 (-4.82%)
Mutual labels:  functional-programming
Pfun
Functional, composable, asynchronous, type-safe Python.
Stars: ✭ 75 (-9.64%)
Mutual labels:  functional-programming
Kuroba Experimental
Free and open source image board browser
Stars: ✭ 76 (-8.43%)
Mutual labels:  rxjava2
Request via
RequestVia: A Functional HTTP Client That Wraps Net::HTTP
Stars: ✭ 74 (-10.84%)
Mutual labels:  functional-programming
Idiolisp
A statically typed functional programming language
Stars: ✭ 78 (-6.02%)
Mutual labels:  functional-programming
Freesound Android
Unofficial Android client for the Freesound Project
Stars: ✭ 81 (-2.41%)
Mutual labels:  rxjava2
Open Source Android Weather App
☔️ Open source android weather app. See "Issues" tab for current tasks queue. Tasks suitable for beginners are labeled with green "beginner friendly" tags.
Stars: ✭ 81 (-2.41%)
Mutual labels:  rxjava2
Wanandroid
🔥项目采用 Kotlin 语言,基于 MVP + RxJava + Retrofit + Glide + EventBus 等架构设计,努力打造一款优秀的 [玩Android] 客户端
Stars: ✭ 1,223 (+1373.49%)
Mutual labels:  rxjava2

FunctionalRx2

FunctionalRx2 is a collection of constructs to simplify a functional programming approach to development on Java and Android.

Android Arsenal

For the RxJava 1.X version please go to FunctionalRx.

Rationale

The base Java 7 framework does not contain most constructs to do even the simplest functional development. Given that functional programming is a paradigm that's not limited by languages, a series of libraries have been created to bridge some of the gap to others like Kotlin, Scala or Clojure.

FunctionalRx uses RxJava as a backend for their functions and helpers. It's meant to be used in combination with their rective streams.

Usage

An overview of the libraries can be read at Building a Functional Toolset on Android on my blog. If you want to see them in action, watch my presentation on Fully Reactive Apps or visit the FunctionalAndroidReference sample project.

A thorough description and examples of each construct can be found in the readme of their repositories:

RxTuples2 - Simple tuples to use with RxJava

RxSealedUnions2 - Tagged Unions for the RxJava aesthete

RxComprehensions - Reduce boilerplate in RxJava by abstracting chained flatMaps, concatMaps and switchMaps

RxPartialApplication2 - Simple partial application for FunctionN and ConsumerN on RxJava

RxCurrying2 - Simple currying for FuncN and ActionN on RxJava

RxConsumers - Simple ConsumerN composition to use with RxJava

RxFunctions2 - Advanced Function composition to use with RxJava

RxMemoization2 - Simple Function result caching for RxJava

Distribution

Each library can be added individually, or as a group by adding FunctionalRx2.

Add as a dependency to your build.gradle

repositories {
    ...
    maven { url "https://jitpack.io" }
    ...
}
    
dependencies {
    ...
    compile 'com.github.pakoito:FunctionalRx2:1.1.0'

    // This version includes:
    // compile 'com.github.pakoito:RxTuples2:1.0.0'
    // compile 'com.github.pakoito:RxSealedUnions2:1.0.0'
    // compile 'com.github.pakoito.RxComprehensions:rxcomprehensions2:1.3.0'
    // compile 'com.github.pakoito:RxMemoization2:1.0.0'
    // compile 'com.github.pakoito:RxPartialApplication2:1.0.0'
    // compile 'com.github.pakoito:RxCurrying2:1.0.0'
    // compile 'com.github.pakoito:RxFunctions2:1.0.0'
    // compile 'com.github.pakoito:RxConsumers:1.0.0'
    ...
}

or to your pom.xml

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.github.pakoito</groupId>
    <artifactId>FunctionalRx2</artifactId>
    <version>1.1.0</version>
</dependency>

License

Copyright (c) pakoito 2017

The Apache Software License, Version 2.0

See LICENSE.md

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].