Functional Kotlin
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):
- Arrow library official documentation by The Λrrow authors
- Arrow Android Samples by Jorge Castillo Pérez
About the author
Raul Hernandez Lopez
- @RaulHernandezL (Twitter)
- Raul's Medium
- Insights and projects (Personal projects blog -> ^ Preferred Through to Medium)
- raul.h82@gmail.com
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.