Explore Kotlin’s Advanced Functional Programming

Since May 2017 Kotlin released by Google, 12.8% Java developers have converted to Kotlin, yet they still keep to the OO spirit of Java (for Interoperability) , not taking full advantage of FP capability of Kotlin. The OO Design Patterns of Android Java still being used instead of the FP more elegant “Monadic” Design.

1. Interview with Kotlin Designer:

Episode 12: Interview with Andrey Breslav, Lead Language Designer of Kotlin

2. Android Studio 3.0 Released : https://www.androidauthority.com/android-studio-3-released-810099/

2a. Android Studio v3.0 with Kotlin built-in & many improvements.

(The previous stable v2.3 needs seperate Kotlin plug-in)

https://thenextweb.com/dd/2017/10/27/android-studio-3-0-brings-support-for-kotlin-java-8-and-instant-Features

2c: Gradle upgrade

https://zhuanlan.zhihu.com/p/30722989

3. Inner / Infix Function

http://thetechnocafe.com/more-about-functions-in-kotlin/

4. Test (Mockito)

https://proandroiddev.com/improve-your-tests-with-kotlin-in-android-pt-1-6d0b04017e80

https://proandroiddev.com/improve-your-tests-with-kotlin-in-android-pt-2-f3594e5e7bfd

Kluent library:

https://proandroiddev.com/improve-your-tests-with-kotlin-in-android-pt-3-104e1c9f77cc

5. Function vs Procedure vs MethodKotlin simplifies all 3 into 1 : Function which always returns a value or UNIT.

View at Medium.com

6. Kotlin has which Java lacks … “with“, “?”, …

https://blog.simon-wirtz.de/kotlin-features-miss-java/

7. Kotlin Operator Overloading aka “Convention”: ‘plus’ / ‘+’

https://blog.simon-wirtz.de/kotlin-conventions-operator-overloading/

8. JVM Byte Code Generation:

https://blog.simon-wirtz.de/kotlin-on-the-jvm-byte-code-generation/

9. Reified Types

https://blog.simon-wirtz.de/kotlin-reified-types/

10. SICP: Sequence as conventional interfaces: eg. flatmap, map, reduce, fold

https://dzone.com/articles/conventional-interfaces-in-functional-programming

11.Kotlin中extensions的用法

https://zhuanlan.zhihu.com/weiweidaolai/27537731

12. Generic : Kotlin入门(11)江湖绝技之特殊函数

https://zhuanlan.zhihu.com/aqi00/28302792

13. Array <String>: Kotlin入门(4)声明与操作数组

https://zhuanlan.zhihu.com/aqi00/27744799

14. ViewPager (Horizontal Swipe)

https://www.raywenderlich.com/169774/viewpager-tutorial-android-getting-started-kotlin

15. Kotlin 1.2 Beta & Multiplatform iOS

https://blog.jetbrains.com/kotlin/2017/11/kotlinconf-keynote-recap/

16. Kotlin Edu ( Android Studio 3.0)

https://www.jetbrains.com/education/kotlin-edu/

17. Kotlin Style Guide

https://android.github.io/kotlin-guides/style.html

18. Android Layout FoundamentalConstraintLayout

https://developer.android.com/guide/topics/ui/declaring-layout.html

19. Android SDK

https://www.raywenderlich.com/171148/android-sdk-versions-tutorial-2

20. Javalin v1.0 – Web Framework for Java + Kotlin

https://jaxenter.com/javalin-1-0-is-here-138750.html

21. Ten Modern Features (Kotlin, Clojure, Javascript, Swift…)

View at Medium.com

22. Function literals with receiver

https://blog.simon-wirtz.de/function-literals-with-receiver-quick-introduction/#page

23. Sealed classes: (restricted types no “else”)

https://mindorks.com/course/advance-kotlin/chapter/id/1

24. Android Intent

https://www.raywenderlich.com/171071/android-intents-tutorial-kotlin

25. Top kotlin tutorials

View at Medium.com

26. Kotlin Contexts & Shared Preferences

Kotlin: Contexts & SharedPreferences

27. Delegation – but not Inheritance (which takes all)

https://blog.kotlin-academy.com/superpowers-of-kotlin-delegation-e6bd9ff8026c

28. Functions or Properties Reference (cool *)

View at Medium.com

29. Web Framework ktor:

https://blog.simon-wirtz.de/web-app-kotlin-ktor/

Leave a comment