Course Code: advancedkotlin
Duration: 21 hours
Prerequisites:
  • An understanding of the fundamentals of Kotlin

Audience

  • Developers interested in gaining a deeper knowledge of Kotlin programming
Overview:

Kotlin is a modern, functional and object-oriented programming language based on Java.

In this instructor-led, live training, participants will learn how to use more advanced features that the Kotlin programming language offers.

By the end of this training, participants will be able to:

  • Understand what makes Kotlin highly extensible and unique versus other JVM languages.
  • Examine advanced topics and features in Kotlin including functions, classes, delegation, generics, metaprogramming, and asynchronous programming.

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice
Course Outline:

Introduction

Refresher on Kotlin Basics

Using Advanced Functions in Kotlin

  • Using Nested Functions to Reuse Functionality in Kotlin
  • Using the Infix Notation to Call Functions in Kotlin
  • Declaring Anonymous Functions in Kotlin
  • Using the Inline Modifier for Efficiency in Kotlin
  • Implementing Returns and Local Returns When Working with Advanced Functions in Kotlin
  • Implementing Tail Recursion for Optimization in Kotlin
  • Using Operator Overloading in Kotlin
  • Using Lambdas with Receivers to Create Restrictions on DSL's in Kotlin
  • Invoking Instances in Kotlin
  • Using Functional Constructs in Kotlin
    • Function Composition
    • Currying
    • Other Constructs
  • Summary of Advanced Functional Aspects of Kotlin

Exploring Class Scenarios in Kotlin

  • Implementing Fields in Kotlin
  • Using the "lateinit" Modifier  in Kotlin
  • Understanding Nested and Inner Classes in Kotlin
  • Defining "Static Methods" in Kotlin Using Companion Objects
  • Hiding Class Constructors in Kotlin
  • Marking Classes as Sealed in Kotlin
  • Using Type Aliases in Kotlin
  • Summary of Advanced Features of Kotlin for Classes

Implementing Delegation in Kotlin

  • Understanding the Concept of Member Delegation in Kotlin
  • Delegating Member Functions to Another Class in Kotlin
  • Delegating Properties in Kotlin for Code Reuse Efficiency
  • Using Built-in Delegated Properties in Kotlin
  • Delegating Local Properties in Kotlin for Code Reuse
  • Implementing Extension Properties in Classes in Kotlin
  • Summary of the Different Aspects of Delegation in Kotlin

Gaining an In-Depth Understanding of Generics in Kotlin

  • Understanding Generic Constraints
  • Understanding Variance and Invariance in Generics
  • Using the "out" Modifier to Express Covariance in Generics in Kotlin
  • Expressing Contravariance in Kotlin
  • Exploring the Concept of Type Projections and Star Projections in Kotlin
  • Summary of Advanced Generics in Kotlin

Metaprogramming in Kotlin

  • Overview of Reflection
  • Using Java Reflection with Kotlin Using the Reflection API
  • Using Kotlin's Reflection API
  • Handling Type Erasure in Kotlin
  • Using Reified Generics in Kotlin
  • Defining Custom Annotations in Kotlin
  • Summary of Metaprogramming and Introspection Techniques in Kotlin

Performing Asynchronous Programming in Kotlin

  • Understanding the Problem of Asynchronous Programming
  • Implementing Asynchronous Programming and Coroutines in Kotlin
  • Implementing Async and Await in Kotlin Using Coroutines
  • Implementing Yield in Kotlin
  • Understanding the Advantages of Coroutines Over Reactive Extensions
  • Summary of Coroutines in Kotlin

Summary and Conclusion

Sites Published:

United Arab Emirates - Advanced Kotlin Programming

Qatar - Advanced Kotlin Programming

Egypt - Advanced Kotlin Programming

Saudi Arabia - Advanced Kotlin Programming

South Africa - Advanced Kotlin Programming

Brasil - Advanced Kotlin Programming

Canada - Advanced Kotlin Programming

中国 - Advanced Kotlin Programming

香港 - Advanced Kotlin Programming

澳門 - Advanced Kotlin Programming

台灣 - Advanced Kotlin Programming

USA - Advanced Kotlin Programming

Österreich - Advanced Kotlin Programming

Schweiz - Advanced Kotlin Programming

Deutschland - Advanced Kotlin Programming

Czech Republic - Advanced Kotlin Programming

Denmark - Advanced Kotlin Programming

Estonia - Advanced Kotlin Programming

Finland - Advanced Kotlin Programming

Greece - Advanced Kotlin Programming

Magyarország - Advanced Kotlin Programming

Ireland - Advanced Kotlin Programming

Luxembourg - Advanced Kotlin Programming

Latvia - Advanced Kotlin Programming

España - Programación avanzada de Kotlin

Italia - Advanced Kotlin Programming

Lithuania - Advanced Kotlin Programming

Nederland - Advanced Kotlin Programming

Norway - Advanced Kotlin Programming

Portugal - Advanced Kotlin Programming

România - Advanced Kotlin Programming

Sverige - Advanced Kotlin Programming

Türkiye - Advanced Kotlin Programming

Malta - Advanced Kotlin Programming

Belgique - Advanced Kotlin Programming

France - Advanced Kotlin Programming

日本 - Advanced Kotlin Programming

Australia - Advanced Kotlin Programming

Malaysia - Advanced Kotlin Programming

New Zealand - Advanced Kotlin Programming

Philippines - Advanced Kotlin Programming

Singapore - Advanced Kotlin Programming

Thailand - Advanced Kotlin Programming

Vietnam - Advanced Kotlin Programming

India - Advanced Kotlin Programming

Argentina - Programación avanzada de Kotlin

Chile - Programación avanzada de Kotlin

Costa Rica - Programación avanzada de Kotlin

Ecuador - Programación avanzada de Kotlin

Guatemala - Programación avanzada de Kotlin

Colombia - Programación avanzada de Kotlin

México - Programación avanzada de Kotlin

Panama - Programación avanzada de Kotlin

Peru - Programación avanzada de Kotlin

Uruguay - Programación avanzada de Kotlin

Venezuela - Programación avanzada de Kotlin

Polska - Advanced Kotlin Programming

United Kingdom - Advanced Kotlin Programming

South Korea - Advanced Kotlin Programming

Pakistan - Advanced Kotlin Programming

Sri Lanka - Advanced Kotlin Programming

Bulgaria - Advanced Kotlin Programming

Bolivia - Programación avanzada de Kotlin

Indonesia - Advanced Kotlin Programming

Kazakhstan - Advanced Kotlin Programming

Moldova - Advanced Kotlin Programming

Morocco - Advanced Kotlin Programming

Tunisia - Advanced Kotlin Programming

Kuwait - Advanced Kotlin Programming

Oman - Advanced Kotlin Programming

Slovakia - Advanced Kotlin Programming

Kenya - Advanced Kotlin Programming

Nigeria - Advanced Kotlin Programming

Botswana - Advanced Kotlin Programming

Slovenia - Advanced Kotlin Programming

Croatia - Advanced Kotlin Programming

Serbia - Advanced Kotlin Programming

Bhutan - Advanced Kotlin Programming

Nepal - Advanced Kotlin Programming

Uzbekistan - Advanced Kotlin Programming