Get in Touch

Course Outline

Introduction

Kotlin Basics Refresher

Utilizing Advanced Functions in Kotlin

  • Employing Nested Functions to Reuse Functionality in Kotlin
  • Utilizing Infix Notation for Function Calls in Kotlin
  • Defining Anonymous Functions in Kotlin
  • Applying the Inline Modifier for Efficiency in Kotlin
  • Managing Returns and Local Returns with Advanced Functions in Kotlin
  • Implementing Tail Recursion for Optimization in Kotlin
  • Using Operator Overloading in Kotlin
  • Leveraging Lambdas with Receivers to Establish Restrictions on DSLs 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 via 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 Challenges 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

Requirements

  • A foundational understanding of Kotlin basics.

Audience

  • Developers seeking to deepen their expertise in Kotlin programming.
 21 Hours

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories