Hands On Functional Kotlin

Hands On Functional Kotlin

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 3h 10m | 702 MB

Practice the art of designing and implementing functional Kotlin Apps

Functional programming is a hot topic right now; more and more programmers are finding it better for large- scale applications because of its native support and safety. Modern languages such as Kotlin and Swift already support many functional programming features, which makes functional programming even more attractive.

This course demonstrates Kotlin language features and use-cases as well as popular functional programming concepts and techniques. You will learn to design application structures using functional programming concepts and implement business logic using tools provided by Arrow library

This course is divided into three big blocks. The first demonstrates functional programming concepts and use cases where these concepts are applicable; next, we cover Kotlin Arrow library features. Lastly, we cover design patterns and the implementation of a sample application using the content of first two parts.

What You Will Learn

  • Learn the Kotlin Functional Programming paradigm.
  • Use basic functions to build your own programs.
  • Implement basic functional algorithms and functional lists.
  • Explore recursive functions, pattern matching, and immutable data structures.
  • Learn higher-order lambda expressions and generics.
  • Learn various Arrow Library components
Table of Contents

01 The Course Overview
02 Functions
03 Side Effects
04 Immutability
05 Recursive Functions
06 Fibonacci Sequence
07 Generics
08 Lambda Expressions
09 Higher-Order Functions
10 Lazy Evaluation
11 Function References
12 Monads
13 Destructive Declaration
14 Partial Application
15 Curried Functions
16 Forward Compose
17 Functional List Implementation
18 Implementing forEach, Map, and Other Extensions
19 Sealed Classes
20 Pattern Matching
21 Modeling Problems in FP Style
22 Coroutines
23 Arrow Library
24 ID, Option, Either, Ior Monads
25 Try, Eval Monads
26 Io, Async Monads
27 Reader Monads
28 High Level App Design
29 JavaFx, Arrow and Coroutines
30 Interfaces of Components
31 Components Implementation
32 Binding Components Together
33 Testing Components