Skip to content

raulh82vlc/FunctionalKotlin

Repository files navigation

Functional Kotlin

Build Status Kotlin version badge

It's a sample app used to learn Functional programming with Kotlin.

Kotlin has many nice features as a modern language, and to enhance all its power, Arrow is the perfect companion: "Λrrow is a library for Typed Functional Programming in Kotlin"

Brief overview

This side project is the transformation of the previous written in Java side project: FlickrFeed with RxJava 2 & DI.

However, it is 100% Kotlin without any DI on this side project, I believe is not necessary at all for such a simple project, nor RxJava 2 on behalf of Kotlin coroutines for asynchronous tasks.

SDK support

Support SDKs from 21 to 27

Disclosure - Libraries used

  • Arrow library for Functional programming
  • Kotlin Coroutines for asynchronous tasks
  • Retrofit 2 with OkHttp for network requests
  • Picasso for image rendering and cache
  • Gson for easy JSON parsing
  • Timber for console logging on debug mode only

References (special thanks):

About the author

Raul Hernandez Lopez

License

Copyright (C) 2018 Raul Hernandez Lopez

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.